From c6c2e41f7b1d0e485158325f8ae02bee1a421194 Mon Sep 17 00:00:00 2001 From: Chengxuan Xing Date: Sat, 7 Dec 2024 09:36:44 +0000 Subject: [PATCH 1/4] updating circom version Signed-off-by: Chengxuan Xing --- .github/workflows/circuit-unit-tests.yaml | 4 +- .github/workflows/e2e.yaml | 4 +- .github/workflows/release.yaml | 4 +- go-sdk/go.mod | 10 +- go-sdk/go.sum | 20 +- solidity/contracts/lib/verifier_anon.sol | 20 +- .../contracts/lib/verifier_anon_batch.sol | 84 +-- solidity/contracts/lib/verifier_anon_enc.sol | 64 +- .../contracts/lib/verifier_anon_enc_batch.sol | 256 ++++---- .../lib/verifier_anon_enc_nullifier.sol | 76 +-- .../lib/verifier_anon_enc_nullifier_batch.sol | 300 +++++----- .../lib/verifier_anon_enc_nullifier_kyc.sol | 80 +-- .../verifier_anon_enc_nullifier_kyc_batch.sol | 304 +++++----- ...ier_anon_enc_nullifier_non_repudiation.sol | 148 ++--- ...on_enc_nullifier_non_repudiation_batch.sol | 564 +++++++++--------- .../contracts/lib/verifier_anon_nullifier.sol | 32 +- .../lib/verifier_anon_nullifier_batch.sol | 128 ++-- .../lib/verifier_anon_nullifier_kyc.sol | 36 +- .../lib/verifier_anon_nullifier_kyc_batch.sol | 132 ++-- .../lib/verifier_check_hashes_value.sol | 16 +- .../verifier_check_inputs_outputs_value.sol | 20 +- ...ifier_check_inputs_outputs_value_batch.sol | 52 +- .../lib/verifier_check_nullifier_value.sol | 32 +- .../verifier_check_nullifier_value_batch.sol | 96 +-- solidity/contracts/lib/verifier_nf_anon.sol | 12 +- .../lib/verifier_nf_anon_nullifier.sol | 16 +- solidity/test/zeto_anon.ts | 10 +- solidity/test/zeto_anon_enc.ts | 8 +- solidity/test/zeto_anon_enc_nullifier.ts | 6 +- solidity/test/zeto_anon_enc_nullifier_kyc.ts | 8 +- ...zeto_anon_enc_nullifier_non_repudiation.ts | 6 +- solidity/test/zeto_anon_nullifier.ts | 6 +- solidity/test/zeto_anon_nullifier_kyc.ts | 11 +- zkp/circuits/anon.circom | 2 +- zkp/circuits/anon_batch.circom | 2 +- zkp/circuits/anon_enc.circom | 2 +- zkp/circuits/anon_enc_batch.circom | 2 +- zkp/circuits/anon_enc_nullifier.circom | 2 +- zkp/circuits/anon_enc_nullifier_batch.circom | 2 +- zkp/circuits/anon_enc_nullifier_kyc.circom | 2 +- .../anon_enc_nullifier_kyc_batch.circom | 2 +- .../anon_enc_nullifier_non_repudiation.circom | 2 +- ...enc_nullifier_non_repudiation_batch.circom | 2 +- zkp/circuits/anon_nullifier.circom | 2 +- zkp/circuits/anon_nullifier_batch.circom | 2 +- zkp/circuits/anon_nullifier_kyc.circom | 2 +- zkp/circuits/anon_nullifier_kyc_batch.circom | 2 +- zkp/circuits/basetokens/anon_base.circom | 2 +- zkp/circuits/basetokens/anon_enc_base.circom | 2 +- .../basetokens/anon_enc_nullifier_base.circom | 2 +- .../anon_enc_nullifier_kyc_base.circom | 2 +- ..._enc_nullifier_non_repudiation_base.circom | 2 +- .../basetokens/anon_nullifier_base.circom | 2 +- .../basetokens/anon_nullifier_kyc_base.circom | 2 +- zkp/circuits/check_hashes_value.circom | 2 +- .../check_inputs_outputs_value.circom | 2 +- .../check_inputs_outputs_value_batch.circom | 2 +- zkp/circuits/check_nullifier_value.circom | 2 +- .../check_nullifier_value_batch.circom | 2 +- zkp/circuits/check_nullifiers.circom | 2 +- zkp/circuits/gen-config.json | 124 ++-- zkp/circuits/gen.js | 12 +- .../lib/check-hashes-tokenid-uri.circom | 2 +- zkp/circuits/lib/check-hashes.circom | 2 +- .../check-inputs-outputs-value-base.circom | 2 +- .../lib/check-nullifier-tokenid-uri.circom | 2 +- .../lib/check-nullifier-value-base.circom | 2 +- zkp/circuits/lib/check-nullifiers.circom | 2 +- zkp/circuits/lib/check-positive.circom | 2 +- zkp/circuits/lib/check-smt-proof.circom | 2 +- zkp/circuits/lib/check-sum.circom | 2 +- zkp/circuits/lib/ecdh.circom | 2 +- zkp/circuits/lib/encrypt-outputs.circom | 2 +- zkp/circuits/lib/encrypt.circom | 2 +- zkp/circuits/lib/poseidon-ex.circom | 2 +- zkp/circuits/lib/poseidon.circom | 2 +- zkp/circuits/nf_anon.circom | 2 +- zkp/circuits/nf_anon_nullifier.circom | 2 +- zkp/js/integration-test/anon.js | 4 +- zkp/js/integration-test/anon_enc.js | 10 +- zkp/js/integration-test/utils.js | 9 + zkp/js/test/check_hashes_value.js | 117 +++- .../circuits/check-hashes-tokenid-uri.circom | 2 +- zkp/js/test/circuits/check-hashes.circom | 2 +- .../check-nullifier-tokenid-uri.circom | 2 +- zkp/js/test/circuits/check-nullifiers.circom | 2 +- zkp/js/test/circuits/check-positive.circom | 2 +- zkp/js/test/circuits/check-smt-proof.circom | 2 +- zkp/js/test/circuits/check-sum.circom | 2 +- zkp/js/test/circuits/ecdh.circom | 2 +- zkp/js/test/circuits/encrypt.circom | 2 +- zkp/js/test/circuits/poseidon-ex.circom | 2 +- zkp/js/test/circuits/poseidon.circom | 2 +- 93 files changed, 1514 insertions(+), 1435 deletions(-) diff --git a/.github/workflows/circuit-unit-tests.yaml b/.github/workflows/circuit-unit-tests.yaml index 303ade7..4052748 100644 --- a/.github/workflows/circuit-unit-tests.yaml +++ b/.github/workflows/circuit-unit-tests.yaml @@ -19,9 +19,9 @@ jobs: - name: Install circom uses: supplypike/setup-bin@v4 with: - uri: https://github.com/iden3/circom/releases/download/v2.1.9/circom-linux-amd64 + uri: https://github.com/iden3/circom/releases/download/v2.2.1/circom-linux-amd64 name: circom - version: 2.1.9 + version: 2.2.1 - name: Checkout circuits uses: actions/checkout@v4 diff --git a/.github/workflows/e2e.yaml b/.github/workflows/e2e.yaml index 15ad8c7..c8dd6bf 100644 --- a/.github/workflows/e2e.yaml +++ b/.github/workflows/e2e.yaml @@ -28,9 +28,9 @@ jobs: - name: Install circom uses: supplypike/setup-bin@v4 with: - uri: https://github.com/iden3/circom/releases/download/v2.1.9/circom-linux-amd64 + uri: https://github.com/iden3/circom/releases/download/v2.2.1/circom-linux-amd64 name: circom - version: 2.1.9 + version: 2.2.1 - name: Setup node.js uses: actions/setup-node@v4 diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index 74ba982..db4ed13 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -19,9 +19,9 @@ jobs: - name: Install circom uses: supplypike/setup-bin@v4 with: - uri: https://github.com/iden3/circom/releases/download/v2.1.9/circom-linux-amd64 + uri: https://github.com/iden3/circom/releases/download/v2.2.1/circom-linux-amd64 name: circom - version: 2.1.9 + version: 2.2.1 - name: Setup node.js uses: actions/setup-node@v4 diff --git a/go-sdk/go.mod b/go-sdk/go.mod index 0926df0..e2bb617 100644 --- a/go-sdk/go.mod +++ b/go-sdk/go.mod @@ -31,9 +31,9 @@ require ( github.com/pkg/errors v0.9.1 // indirect github.com/rogpeppe/go-internal v1.12.0 // indirect github.com/santhosh-tekuri/jsonschema/v5 v5.3.1 // indirect - golang.org/x/sync v0.9.0 // indirect - golang.org/x/term v0.26.0 // indirect - golang.org/x/text v0.20.0 // indirect + golang.org/x/sync v0.10.0 // indirect + golang.org/x/term v0.27.0 // indirect + golang.org/x/text v0.21.0 // indirect gopkg.in/tomb.v1 v1.0.0-20141024135613-dd632973f1e7 // indirect ) @@ -46,8 +46,8 @@ require ( github.com/iden3/go-rapidsnark/types v0.0.2 // indirect github.com/iden3/go-rapidsnark/witness/v2 v2.0.0 github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - golang.org/x/crypto v0.29.0 // indirect - golang.org/x/sys v0.27.0 // indirect + golang.org/x/crypto v0.30.0 // indirect + golang.org/x/sys v0.28.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect gorm.io/driver/postgres v1.5.9 gorm.io/driver/sqlite v1.5.6 diff --git a/go-sdk/go.sum b/go-sdk/go.sum index ea78754..8585f89 100644 --- a/go-sdk/go.sum +++ b/go-sdk/go.sum @@ -88,21 +88,21 @@ github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsT github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY= github.com/x-cray/logrus-prefixed-formatter v0.5.2 h1:00txxvfBM9muc0jiLIEAkAcIMJzfthRT6usrui8uGmg= github.com/x-cray/logrus-prefixed-formatter v0.5.2/go.mod h1:2duySbKsL6M18s5GU7VPsoEPHyzalCE06qoARUCeBBE= -golang.org/x/crypto v0.29.0 h1:L5SG1JTTXupVV3n6sUqMTeWbjAyfPwoda2DLX8J8FrQ= -golang.org/x/crypto v0.29.0/go.mod h1:+F4F4N5hv6v38hfeYwTdx20oUvLLc+QfrE9Ax9HtgRg= +golang.org/x/crypto v0.30.0 h1:RwoQn3GkWiMkzlX562cLB7OxWvjH1L8xutO2WoJcRoY= +golang.org/x/crypto v0.30.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk= golang.org/x/net v0.21.0 h1:AQyQV4dYCvJ7vGmJyKki9+PBdyvhkSd8EIx/qb0AYv4= golang.org/x/net v0.21.0/go.mod h1:bIjVDfnllIU7BJ2DNgfnXvpSvtn8VRwhlsaeUTyUS44= -golang.org/x/sync v0.9.0 h1:fEo0HyrW1GIgZdpbhCRO0PkJajUS5H9IFUztCgEo2jQ= -golang.org/x/sync v0.9.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= +golang.org/x/sync v0.10.0 h1:3NQrjDixjgGwUOCaF8w2+VYHv0Ve/vGYSbdkTa98gmQ= +golang.org/x/sync v0.10.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk= golang.org/x/sys v0.0.0-20220715151400-c0bba94af5f8/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.27.0 h1:wBqf8DvsY9Y/2P8gAfPDEYNuS30J4lPHJxXSb/nJZ+s= -golang.org/x/sys v0.27.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= -golang.org/x/term v0.26.0 h1:WEQa6V3Gja/BhNxg540hBip/kkaYtRg3cxg4oXSw4AU= -golang.org/x/term v0.26.0/go.mod h1:Si5m1o57C5nBNQo5z1iq+XDijt21BDBDp2bK0QI8e3E= -golang.org/x/text v0.20.0 h1:gK/Kv2otX8gz+wn7Rmb3vT96ZwuoxnQlY+HlJVj7Qug= -golang.org/x/text v0.20.0/go.mod h1:D4IsuqiFMhST5bX19pQ9ikHC2GsaKyk/oF+pn3ducp4= +golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA= +golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.27.0 h1:WP60Sv1nlK1T6SupCHbXzSaN0b9wUmsPoRS9b61A23Q= +golang.org/x/term v0.27.0/go.mod h1:iMsnZpn0cago0GOrHO2+Y7u7JPn5AylBrcoWkElMTSM= +golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo= +golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= diff --git a/solidity/contracts/lib/verifier_anon.sol b/solidity/contracts/lib/verifier_anon.sol index 5a4352e..dfaea2f 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 = 1902294708609438766644796849204928803663740221366415953958959671322392851564; - uint256 constant IC0y = 12303706229402770227626541861677666866256980943367923556129762158140843548287; + uint256 constant IC0x = 9951854304440957729970048255417847267132931648166621883720076413912489896527; + uint256 constant IC0y = 14409176055818543230693338142067842611649413262894612537199808888445023112373; - uint256 constant IC1x = 6203750222123167001680138260485388290509753949796409294680745274528939225218; - uint256 constant IC1y = 14273694985744114904153451898553819231835595683225898188370999467603823889120; + uint256 constant IC1x = 5259573331603891045109512098668147509749008117612868524737824308087424702574; + uint256 constant IC1y = 19525471913445311889626897591512951562906439006910912392554279452294201846276; - uint256 constant IC2x = 13851857796635439596347101558854032349005376871103497746213823704338073021460; - uint256 constant IC2y = 7967526762804365938696698938751824648449736305244161041844814326643079898090; + uint256 constant IC2x = 11117692645622336630958982687810991395188114569363058873106896045606988623896; + uint256 constant IC2y = 14276217142757598463675207289976891700417433194631189996761010950688853664150; - uint256 constant IC3x = 12245690231014470786603136099602124408674587253367196875598058296083705481696; - uint256 constant IC3y = 11623815329524890470474756993864782999204409209062428531060410020655296376735; + uint256 constant IC3x = 3527562448445671453901857866044085741707077263419661700847282228715451090636; + uint256 constant IC3y = 7570409468150382685653626446363808187419423223162341311148036786121924318272; - uint256 constant IC4x = 12465556430374686644611513936282716496357430439429402691697005880009555085162; - uint256 constant IC4y = 19628482398819988298416397224449752871272762208876492653622728381407269132622; + uint256 constant IC4x = 10841264388322700588655341388056493072376766887069865783096807172059689381322; + uint256 constant IC4y = 14972730259646309083115284299844029307953343465611976912389044052401119428032; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_batch.sol b/solidity/contracts/lib/verifier_anon_batch.sol index b9f7bbd..e7b93e9 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 = 14401916694900248086984454610617645117186037810025870355725588875905411527905; - uint256 constant IC0y = 21823139981972768925181597835606667363291590735926744185425609626967895836641; + uint256 constant IC0x = 7758301571899264877858754209612844662929165192234301276158382789434660892099; + uint256 constant IC0y = 20632936968362880899162931340576490861576728872145653907427377112607300400193; - uint256 constant IC1x = 18152399282716158169629531201439344161063103224251361362440246670930516009303; - uint256 constant IC1y = 6080278265173093538537246863599160169974109935068305121259074193384775431363; + uint256 constant IC1x = 11615633327966345713615297610659165892904591672955619465704759244989408557001; + uint256 constant IC1y = 11186083397042268510557524401993206529996465593457554173588486016199204963108; - uint256 constant IC2x = 8297218266848061835807071945554336477046207943620428501160290285825071517363; - uint256 constant IC2y = 15656222378314004248176477825191755476212778291146638786091437963148762568128; + uint256 constant IC2x = 8348765224084098251357619259739427533816923339846196710158525531859046678780; + uint256 constant IC2y = 13275877206982799746427248891798232762186295800333350577705405457097216734459; - uint256 constant IC3x = 3047434740237115324297422001872346293290441872228378409771516453051049454159; - uint256 constant IC3y = 10541096522864074461757896295030226941094097575004052502097468583817879074093; + uint256 constant IC3x = 6746129276191106098256682894727980301235667747387375602345851232220273184371; + uint256 constant IC3y = 14163114090067731644944353946434704913998144273454075038752642892877528059742; - uint256 constant IC4x = 18415204963750428001366853480098284329225951295307528124155234247674301562276; - uint256 constant IC4y = 18206845444283706289783054066424364156383540489856915668759698699066029015528; + uint256 constant IC4x = 17375983988601669407845120504503759147294838178582839613615315961449819607570; + uint256 constant IC4y = 20608650540530367815716369390757456255847070161889545613408042418171720449928; - uint256 constant IC5x = 5848632330022221449217083844906849578988699882267611916943101169293886327152; - uint256 constant IC5y = 8525192717750394881723959129538639054882628564239664911410730246619999848599; + uint256 constant IC5x = 749245697896346907446760524347394022947856349424268788233876301031650409625; + uint256 constant IC5y = 4684890715991811318708982639949298037366574514016217005572331962357269457587; - uint256 constant IC6x = 18737933721565426341245741788052591666191809520781288299820522320094073877002; - uint256 constant IC6y = 17893060166280487897808816982590615297284643156483941137846260492062460760617; + uint256 constant IC6x = 7874899580488011619193479877107427619540065860386960382786115058214736472961; + uint256 constant IC6y = 21059542981556940483486320687985908778783940542633255975679963765277339962530; - uint256 constant IC7x = 19098445952237615276849115001752018549598132495817554411626726814628060269826; - uint256 constant IC7y = 12055887832584514874540928561552980046792594771344397625875810924512944008940; + uint256 constant IC7x = 18621252523739397617877641120503087117872370301811965092932817827739479796166; + uint256 constant IC7y = 2404706837034131897192868270261182964291037415010772829788848732084770430933; - uint256 constant IC8x = 14049087315628302176692100175044083505908130478745651601589669404557285071536; - uint256 constant IC8y = 11760483736571233695765389297508375430401740670321979310551162352220705482170; + uint256 constant IC8x = 19814455545966466244689909235181383129301797961567922579961058010657327968486; + uint256 constant IC8y = 21732937296348543826379078094630887156087124289621375908739315093071402119752; - uint256 constant IC9x = 13933845163646305706487746770461738555628647435735733692423741028126085769120; - uint256 constant IC9y = 5906072330325167864469019724869377799273255560000238774314064772801265008600; + uint256 constant IC9x = 3184933453132988447670846134646492920686989562672153511835240095854316620300; + uint256 constant IC9y = 17413345587156768674470638887481028062872057504530236831890435886323321898876; - uint256 constant IC10x = 13705817542782816555899655377219516947625498453397622184137502850319776285664; - uint256 constant IC10y = 9042948681425040255034970979470429950080719583285309041655605511548953117983; + uint256 constant IC10x = 5000106956091632287751063138709579166413938917310811757141112192144129568670; + uint256 constant IC10y = 1880348007105019492687842362718936462113830541362164189075767828637837156158; - uint256 constant IC11x = 21219849026857904949098640161461967736586495130286899335070690044195456905584; - uint256 constant IC11y = 9738292818521877248157023071103026883633012472866114286481112790569861434809; + uint256 constant IC11x = 8807954911100293836538771942181421664913270197244831130761279808674931518790; + uint256 constant IC11y = 17508285927575586166782465486539407240181248723581605802158685783096894314205; - uint256 constant IC12x = 16821584442373432772708439871996312879436027142106307298789026044142912059297; - uint256 constant IC12y = 18179456728684141852474805451524977640053894307290781083105544127773978083590; + uint256 constant IC12x = 3654376290557405870314166762121655305171208827771868156654718356459126930544; + uint256 constant IC12y = 20239761678262685978011314532733399292107569046790346152735028075018156700430; - uint256 constant IC13x = 18644980581060530311357977147481430713902817828375295403067823676395599257852; - uint256 constant IC13y = 4274710606613794907868577617888070748913495219029409238664182414438828140774; + uint256 constant IC13x = 13942381491409863805481129234212748957659615129674051368293399772120904898982; + uint256 constant IC13y = 7198633752550957979404220877302240993107152862622048009001689469103843899379; - uint256 constant IC14x = 1670061012290661486355607450319597799823993362799528125098867249745378187092; - uint256 constant IC14y = 17357067744661529049119254714176244266487122291167133704079413719073749738908; + uint256 constant IC14x = 3766314971418353237905318803668630234242341545507796164075802769154870704226; + uint256 constant IC14y = 14974832509202270872448631093591036606262174404532714792580142674109071695963; - uint256 constant IC15x = 20214070364826093890785202955205369405718408221128285777814067171054281417142; - uint256 constant IC15y = 6676623764796503794882178144016983490948422057538987148553778809368627351866; + uint256 constant IC15x = 20947173756075288500532552138514879254082296280245805744255404875099965748043; + uint256 constant IC15y = 9331697681780124201113946858352287328081503582349105929394155825802825000361; - uint256 constant IC16x = 19188803159885638492346037355574861082584717060749055884680169327249938506224; - uint256 constant IC16y = 14635030226769140385410527971428459895270353563660740462654337932363700995073; + uint256 constant IC16x = 7300226697596210203589783066188655095148224146210870452762470970590113642422; + uint256 constant IC16y = 15434827597932208119730923859852051718913724437592285448477549023216201752648; - uint256 constant IC17x = 1032439080446701812081769707385444592210021579802000978244234134167421120896; - uint256 constant IC17y = 20080022736872634490249028574119868255366821827646688359584040403863693869436; + uint256 constant IC17x = 5685940285584773620760683269200203911989978110659531751061416671909138714474; + uint256 constant IC17y = 15785546174838346980960122130367445559612201196193666672728019685818460974515; - uint256 constant IC18x = 6320239074134649680926373071446503578744317667951777657870688787798460814779; - uint256 constant IC18y = 4076247364427329948398771036551813672936759695367436275660900533153237218613; + uint256 constant IC18x = 3859778659788676546935882657936598886646060245911905264500747043376967810059; + uint256 constant IC18y = 17039854261944757383765020449971388088475800222706489689867778970566740056221; - uint256 constant IC19x = 18319045025948706149806565908584079240069485862781923810594761414646236403507; - uint256 constant IC19y = 1443810282819553906570438933381282835687988434540658729326313586117183414978; + uint256 constant IC19x = 5414480314443480403627606306388852112232833717157489873490336243185795801707; + uint256 constant IC19y = 16921562134849518673444351383039591413750914511601115431854754554128317214351; - uint256 constant IC20x = 17616701033046011221658156058153126401552902469497703215789359069808206367708; - uint256 constant IC20y = 7948235851932996085506931557727991080994605820774849180821643683325993620091; + uint256 constant IC20x = 15646585249462056626437462646343781302537700830271537725821045027953668154242; + uint256 constant IC20y = 3913813741211312494939390488791420933329920903419211488786784367298336191807; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc.sol b/solidity/contracts/lib/verifier_anon_enc.sol index f7a2c88..16b0c95 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 = 15030214739401137192003823731657777449791311764422437899883414794994910536777; - uint256 constant IC0y = 2985215208025135977904571916489522998142109618770063756901168286087357439057; + uint256 constant IC0x = 18165268936776931044952723298687751931193544622820453053484480737260170200347; + uint256 constant IC0y = 8221972952011988048091185978830137119355811536977778357706024588296710485447; - uint256 constant IC1x = 13781386184789695642037624685639646860172747031837212681764863508045714411815; - uint256 constant IC1y = 17071570340192799172000627033733757691776265126250162550386438527807483060208; + uint256 constant IC1x = 12744980405947500012561214289018359982422540972005655423775588026222438928928; + uint256 constant IC1y = 14570725183336302011000313969749719284106603058949634969785314392965855509092; - uint256 constant IC2x = 9726809282258735670596637770693394344029133945012465178630200480691165523273; - uint256 constant IC2y = 7302038865404864659290604521096190622083227016241716111467691841178401847616; + uint256 constant IC2x = 19896490367271815623189901763008312755097002656683072397356344070173260534721; + uint256 constant IC2y = 2319314820877203131547084410630340802412879044789292090793055957285133795588; - uint256 constant IC3x = 10380886305787658261080428949731145114949352518790106171690560701090568235851; - uint256 constant IC3y = 9159174387117675393341284784489519249198203165599686862238064455491426468925; + uint256 constant IC3x = 20711616705865525404655482894970228360435617004968264825664587888867768167883; + uint256 constant IC3y = 14054714795106501767190295476790722777954637104664441789646716904531555706962; - uint256 constant IC4x = 14900106649738320382178766033375522329832479160958462624877120137513390570047; - uint256 constant IC4y = 14123723224323607584582281518344475825141584212602796633634595001403769493064; + uint256 constant IC4x = 18672471851267037689117558184280532838873177606141164517386332621471425216983; + uint256 constant IC4y = 6492969729359166318119831311822701314949155619180822601342729934760685958001; - uint256 constant IC5x = 19807341105417576715446019077004758227815930264958519061075609174905699760251; - uint256 constant IC5y = 12463090198859326169477111396312479594257404229763726320900882640528896933753; + uint256 constant IC5x = 15641055303533661194078374589595647436020914894027717723776864616347308280222; + uint256 constant IC5y = 13172489830945915427065052146826670638020065855575988906313588291781735614484; - uint256 constant IC6x = 21586161037925048599183419147645404497733054933305874980330255597723274735637; - uint256 constant IC6y = 1271936060461584804548525978627736838233777974644859846508796051998609836034; + uint256 constant IC6x = 12670475539144614544449826520049573708271006076105781811870092352770316541329; + uint256 constant IC6y = 15603384201310903860186004418949239942106882276027196612982782990422025591741; - uint256 constant IC7x = 4335948493028935103522766066169455368635875140319545758801385783354561139913; - uint256 constant IC7y = 12986088609624619784328163742783123783898457840838274755613821692405113098603; + uint256 constant IC7x = 17072676043453577737688111845734865107011416804936848601784275444594713808858; + uint256 constant IC7y = 12776604381790117768566291245502119222840399574027550150420462705126607681160; - uint256 constant IC8x = 9710187508856516940996220846173733968640755876900070777067814016964306526526; - uint256 constant IC8y = 10514040217549601097013480769071334693060337137921051380551448054172042949642; + uint256 constant IC8x = 4271318940275331562478501804165799933874948128708556823746507735620307570772; + uint256 constant IC8y = 18280332345482757210849356448606610334071638532837550736936774618318887483554; - uint256 constant IC9x = 15036704422032611906049139300550723348649062019526956622652015861634896452769; - uint256 constant IC9y = 8741680172320556538410703530770523781795676307015332673220188196434408415449; + uint256 constant IC9x = 8141457836685844265469133952176591586541084801927268982920953419104662016666; + uint256 constant IC9y = 18368556409975302360108064033053660429250857510319547032078583837438279736237; - uint256 constant IC10x = 17119072413823170885635232472157484849890119113673304877708789547595043502501; - uint256 constant IC10y = 4738806178879764062788777297750053583726132600743108138740236433543388536131; + uint256 constant IC10x = 3744570788084708891559546895561552321172021908529741874770125238251439022891; + uint256 constant IC10y = 2013709922680285754949566740581060324403975075575135925376984888452005460624; - uint256 constant IC11x = 11282503423494540494584858305868406078506046571663755510393106661047557194888; - uint256 constant IC11y = 7256160648331513325581155388846639014239613379898179750045424787475513842761; + uint256 constant IC11x = 12307513249320519746896336256373589301770128712487371552748602843289808155724; + uint256 constant IC11y = 12742202980339901452769474410333152981566507809968224115094538643186750555039; - uint256 constant IC12x = 2440746297677226167325054412353219363197829774157304732991500883537284217927; - uint256 constant IC12y = 20616627635535943477624497728501402694683837498353366167723161696578567328584; + uint256 constant IC12x = 3233339406934945303805764300721241237636146907037692753122992075268978609572; + uint256 constant IC12y = 2099933201723158132824543718331167705875791448838489915670940216523366927932; - uint256 constant IC13x = 15470589698197974705358560976761222633978695673538036794995516478249488622067; - uint256 constant IC13y = 9891760547749816368835653600263926537220721512271943145699416196216186011250; + uint256 constant IC13x = 19269632098370989276766646906516952334333653118689304562402781478754047165564; + uint256 constant IC13y = 3628907718962680689028369341398210275937024054352143449819154777999026465602; - uint256 constant IC14x = 2706520807812969576361115121867302327159116606543075813412805893138174440915; - uint256 constant IC14y = 12375578243023856991189832252934833938702352550757080722534817241978251904511; + uint256 constant IC14x = 13255042716384147373783234302837034353193863038204066929883191639506712709791; + uint256 constant IC14y = 12055867742644489365366546508622301425377654188678127219930110103262922254504; - uint256 constant IC15x = 19072021057908642807224142806808137567983907399946520090660197755334963919953; - uint256 constant IC15y = 9407556490237218013292109128436248032923513006916152823719652101464010087144; + uint256 constant IC15x = 16159607618242532754976948003655199818099605832211054331276973232615150817610; + uint256 constant IC15y = 9599460732126895999104589072279966323295078119432006545810158403061291696733; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_batch.sol b/solidity/contracts/lib/verifier_anon_enc_batch.sol index 6822e92..be16d3f 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 = 18580313005843130750897171718145080482235072131569730259957978577748570559649; - uint256 constant IC0y = 11008887417210438536585448513758116701594184516218266767200382038698657764221; + uint256 constant IC0x = 11404037212840673572632930437522560870347672653180467216434840130974273594440; + uint256 constant IC0y = 21425505393856475656679434729695523050212321762381852232450937832739099860510; - uint256 constant IC1x = 10395455187749871152883464021307305039211351581687979783405361207037728300193; - uint256 constant IC1y = 11600915897800791538290922796324375639045246774375030019235967800001631056081; + uint256 constant IC1x = 6872167114448394106270533407332444823901538995063137577592830912484247657332; + uint256 constant IC1y = 11070324778849993590099249204126104988116864882698086338464502573184829984892; - uint256 constant IC2x = 19012918149126703267663593445808175619480893261454622174940060826375314872156; - uint256 constant IC2y = 17292336586116381783624259876837450266737198173900937538650199584511449644435; + uint256 constant IC2x = 17005155766466463623256356306569178082422780050886219304110508539008577942790; + uint256 constant IC2y = 6645711158164250777813648884679232817778347166491006644915006912885832085908; - uint256 constant IC3x = 4019137029405419097267801088312523285238891636115679173603315739468427252747; - uint256 constant IC3y = 15809545958206039472783912362667444249113343409085595869382050690665993502050; + uint256 constant IC3x = 6105492203702090178920463081360026681515848045821184242803162236991904844952; + uint256 constant IC3y = 10875008112235481751146942355732804316707960397182099004617679435154367424580; - uint256 constant IC4x = 14872887748100989828841255841897557661988963843773440593461687004862289568357; - uint256 constant IC4y = 707264018499155351153144909653994994003834790710696804648109563993025943366; + uint256 constant IC4x = 7622677977514691470420065470681903862807578006308420981935858183330643846468; + uint256 constant IC4y = 6509183779548000411359914125284252895436916691342610781385889988600563503325; - uint256 constant IC5x = 16514496054640308404323890294088865968089714028777208291765274441332074171864; - uint256 constant IC5y = 12769219872332104583750516550260785834899303444511175589424170196695435680484; + uint256 constant IC5x = 2965883664774596127723947998639213956501248980895979523408251544304009748498; + uint256 constant IC5y = 13576495651838783746883944397252645983213501057443764492976287868539233594187; - uint256 constant IC6x = 13905557825606788993678073885934030632306346259739236330021528211041430955807; - uint256 constant IC6y = 19723644376451716571992106547505336259465112950673654358978326957992400044064; + uint256 constant IC6x = 8418898673811280860060895485138090919625248396049745235381706436185802037561; + uint256 constant IC6y = 14365868270018056568340658191358797319301236359264237453222330311419495315441; - uint256 constant IC7x = 8264179395231575277465933874879987694885169362396639992636472287793251648110; - uint256 constant IC7y = 12443896788758655422719991504651147026633647705033180775565654824821165943059; + uint256 constant IC7x = 21872523688166357173059368823878930443051430610302001609791745682202354464162; + uint256 constant IC7y = 423196183391911010491516767568876488854772137316480782248281416733831020987; - uint256 constant IC8x = 8485997154444365276896303456998622212811060075371960245510349137643960424870; - uint256 constant IC8y = 18971147756928463123988104069945090628663771220036193309677633655768176076195; + uint256 constant IC8x = 18823132472283478293011551091221182010294320389917228172259396340929160314437; + uint256 constant IC8y = 1123276431323771149709338248293410072632997811473178752826433179510070758270; - uint256 constant IC9x = 869560992511000659737335884703209813934230477310115975214517656512595861513; - uint256 constant IC9y = 9440747965374440518266156764920008655009007660780695002896691660548324902543; + uint256 constant IC9x = 8893889329261867284075369360882152456945924188177600871918655910910694563552; + uint256 constant IC9y = 2756515906170597624948561385987451329613317837698514085154737428707455910947; - uint256 constant IC10x = 10075513747277939401510923250892109501000746804932194878164209575250161086192; - uint256 constant IC10y = 19463677239853278508101060261048204446854474135414502347125196265634997978764; + uint256 constant IC10x = 13903182554588034197979485207172323194429239445620718373534238152412642752113; + uint256 constant IC10y = 13968557790737055720692104014461641586377379465942374371056529895303288001253; - uint256 constant IC11x = 18142247304487015474279350674984581244759430901903684804824817386897842183762; - uint256 constant IC11y = 16815230776141141852416945385119180374500213595674994163238538349964439222987; + uint256 constant IC11x = 17392879474244869033702164674733293539277074999988933455537310227756603818522; + uint256 constant IC11y = 1837639243427679698140955302334330565241404751648490607987653067385594813315; - uint256 constant IC12x = 11173485235242420725718659527560300597035854993339606351659335933202050850095; - uint256 constant IC12y = 3125389301302239565023836651248446337674097036446323994003684725538892424465; + uint256 constant IC12x = 11490220263830979691307628420542518863780405973604202090198880562581971730401; + uint256 constant IC12y = 16344723073203609383592073697498203608475480526715882891286592366809948476258; - uint256 constant IC13x = 5788036546752129523637322954624353970609666772643743143540775085934828808105; - uint256 constant IC13y = 12277669483316224305786225647398134683815519587025778198432062773479356824943; + uint256 constant IC13x = 16008746432052304393269365086188461223827207262397776629466085561025575654697; + uint256 constant IC13y = 18494702468288174329164217302178940069987758783652817256563146392415208231389; - uint256 constant IC14x = 18692434997265253699869020953988292539050476952423685004923557500376133891742; - uint256 constant IC14y = 342551473749691784471223997799655831725308362523273866230277014675082573920; + uint256 constant IC14x = 9566299458216250011354022613148568721935578304695353760949964209859258908042; + uint256 constant IC14y = 14313184345044167565767398313155014371486774977199925638831601648310681108099; - uint256 constant IC15x = 3084040488617678634451034700902142302706785800905803615641290997372934039629; - uint256 constant IC15y = 10352212961548725454680748878102714505537073915328544331973751367411853517968; + uint256 constant IC15x = 10610611909983126456903043218873332316270055983110296109396474877260179989305; + uint256 constant IC15y = 15521637520916042916502634026608501307036572492789795279012419921305975928433; - uint256 constant IC16x = 8815590700156507188706372103260708008503819884595719208068957182594452382706; - uint256 constant IC16y = 14307813698620902210202388952960096592994921369112382398769010587673674870895; + uint256 constant IC16x = 10933325500679041508147765956505490264485799336191979082997562487689309831086; + uint256 constant IC16y = 13547150032379224234348614311008941698837307854805158118173894933454450607105; - uint256 constant IC17x = 19682561076054123708343034072843126868926418055716702330253403823575454770590; - uint256 constant IC17y = 18202466752687940422307455551927513340705521678216830096984410951222811772372; + uint256 constant IC17x = 11016489095148914600230591622274492718602469756517555874770995045010723581997; + uint256 constant IC17y = 6286989684000598832913369801562564026139933468017011777975448019929846524307; - uint256 constant IC18x = 18079786686719226777418719106451592827293061587859022084550603811634293825186; - uint256 constant IC18y = 16750707160442793558759266863875270266277084671857633225929130812325912806581; + uint256 constant IC18x = 2512282224041581416526354862014464985610444661773197950122073508848871059466; + uint256 constant IC18y = 11830387902021336881291290132716184275879862646358374674506875444627725034515; - uint256 constant IC19x = 7839704593259956918939767683000068050930985837516647710445231902435800918759; - uint256 constant IC19y = 891599776938399280676377598206746048465280324223262253957040578750254407865; + uint256 constant IC19x = 15882169607487488546160877403075658457278196824461519436677670134182948863320; + uint256 constant IC19y = 14800307073577852087163432743566720402261967372977558160783260612848985834346; - uint256 constant IC20x = 13445491457521330603121496349061226145494025993330948749299051234657497510253; - uint256 constant IC20y = 10848448834616010506430415115856238655344059072832369239747154158784165380574; + uint256 constant IC20x = 15865412554928486021440190578974621352654856824818051387104622645251216448108; + uint256 constant IC20y = 19611385333821038149534177252517160914502434819132930257542257581563949400793; - uint256 constant IC21x = 3034026451356886975121848548035566962951364895066675787683728668537065084913; - uint256 constant IC21y = 18115850563760447810677720398359362283046191905462848606359835630677403370860; + uint256 constant IC21x = 20694065211257385796215485146252920365460719903096029011844855807948573021629; + uint256 constant IC21y = 19112408177329496282403865646277684884071195740345712628263398229729553707370; - uint256 constant IC22x = 18290750884832548296973183452882808030816922576455927178515381877994640281090; - uint256 constant IC22y = 14100083568683442600810755492817047713951946261147225265199706432643775440434; + uint256 constant IC22x = 2148401418709517236296420123313286578637181331673437910912830199358363855337; + uint256 constant IC22y = 14598609833371925954632315945126218421340844933290825811752998292663243204435; - uint256 constant IC23x = 11960161265227847978578800186220836932179471295357657053427141622013030927719; - uint256 constant IC23y = 14193496910420947149336822166949074211001309021624854090710003301669740014614; + uint256 constant IC23x = 19473329822268716867469980011253469018630646213037670693260830612548643585697; + uint256 constant IC23y = 86901092357333657602733548738381034322326357470847426476439103749486341786; - uint256 constant IC24x = 7779798651792299800720258938406055167179480947180721391877922814033001105201; - uint256 constant IC24y = 17376322472933947095338187051436508851173303005179012866936647440368262750618; + uint256 constant IC24x = 19644727504780680891909864080311565985294857800360523399911745419731110626667; + uint256 constant IC24y = 14026034183114319223239045597017239698413618975588801467919798862033488502922; - uint256 constant IC25x = 3888850493135703018846205869686083045811093602466434460731653424931761326221; - uint256 constant IC25y = 6269537785789749249629168156706952756212254395547088941173798585144723331476; + uint256 constant IC25x = 2064523285236578349260167212320832036297468564740058926515600300045778968191; + uint256 constant IC25y = 13845649529687475695260469499830003729841883428420727322496554158894200244667; - uint256 constant IC26x = 2624068077607055390692560935955875069652950189114572026383801229012281774312; - uint256 constant IC26y = 19336408024454147351672765601958115241727634745063647520918252448629844714864; + uint256 constant IC26x = 18598705373531190844092667560641184122534089957570701664978098025954723434617; + uint256 constant IC26y = 14368369786261868229642901706423870846509054310952678629546418898144664102315; - uint256 constant IC27x = 573279682226446286836562627953090350715956932874026047431522511730787917246; - uint256 constant IC27y = 14230584629774323911176258089456481563945539046203627005053099682053589731814; + uint256 constant IC27x = 19288961582074406896859919471819735713295402019571069382688791488401504381349; + uint256 constant IC27y = 14479210884023114800633538429290401119662007827392245735749293131534083700594; - uint256 constant IC28x = 4511570098943154775995495148771492291351043024536238686913034352965916533125; - uint256 constant IC28y = 2340031054291940797267154240028305737245337594820544906593280764149065244825; + uint256 constant IC28x = 13704620994738345989524865653714889229675593941441383149258155755252092576430; + uint256 constant IC28y = 11662640870904589421555443016852830969105565599105052286876049846942572953982; - uint256 constant IC29x = 4244298795288442828475342316585381618978030590322384652198362345941312928633; - uint256 constant IC29y = 9438334411692417939374968865080847314521367958416311859692108859103781907941; + uint256 constant IC29x = 11243017996492457161447880780352850077191302748908817511476904026940491466352; + uint256 constant IC29y = 11995857542543741159887076452869529779563427953449634977204947290313350475663; - uint256 constant IC30x = 17737337973100087486003606060674946694260132465844404962845799719962917758973; - uint256 constant IC30y = 7438304997446447325381090274100267847876769794265566934283357638123761255667; + uint256 constant IC30x = 16113430881491207863289084463011225947976460194440895085111400796955895636627; + uint256 constant IC30y = 17838330081070354742089190848470690580658246234173219840018628620126910183530; - uint256 constant IC31x = 5073846234920030162386412921623356988171236970692204160050544014274745465059; - uint256 constant IC31y = 14677270458799791786755022443638092287691886421830047066112814404323133288440; + uint256 constant IC31x = 18319715062970499122425757907861518784485901476673487062496017860649941984882; + uint256 constant IC31y = 9589070691218811815713654631435169561984879525214866545718791563129736266949; - uint256 constant IC32x = 2649033681819263291861473051971051186343759522480686104149113115044924128944; - uint256 constant IC32y = 368561605425021272655590601170158268253924682190949619461929724301292551015; + uint256 constant IC32x = 7439557303136603897825089969170185846824953096503178784095839166673197450809; + uint256 constant IC32y = 19597711487980754996752446870642893719823636726109896631474284061202694494215; - uint256 constant IC33x = 2733062167495935733708948948866685430872554261586995026969550966429718566022; - uint256 constant IC33y = 6411816009368917331257762188881602672445994519737090781581495901122113461081; + uint256 constant IC33x = 9500583839652871763679857107043836958964806158662900141587519155748828359429; + uint256 constant IC33y = 8378533833481147637462506284847751130451977457756370971479285917681776233906; - uint256 constant IC34x = 20250160139583654384387041345707174206762761262409783484616912329425844084625; - uint256 constant IC34y = 19016558756523986455860206302819973524969128216062592778785213073674762867523; + uint256 constant IC34x = 1548136011066679181476357079492427874144098255096863621336029460704036031315; + uint256 constant IC34y = 21509080884662577921916156061057603662679954560577606325461432928225873875605; - uint256 constant IC35x = 15894959450212660445607057078230066935166933771906424199978970131827817403090; - uint256 constant IC35y = 10045299443552736874341712125430822824696482027842940080732022345835796014058; + uint256 constant IC35x = 3074040049180298378810281335738164442302925975760006531524395846638745504487; + uint256 constant IC35y = 10680181455351195374711648952199980778400290074176085716741800383736386186753; - uint256 constant IC36x = 19067063999171834146975963353534064225201820362410195192049051511782751195044; - uint256 constant IC36y = 2506495847834216106513947518784734886166637826583036171765097900048189049388; + uint256 constant IC36x = 521334521636723969954885497679396109080240782319371686084533251863006823209; + uint256 constant IC36y = 10110611167655465637240735974308771496888587346502280578368880834572380319399; - uint256 constant IC37x = 20048423250126485298790599458080889503743390991035522140783547095481863739847; - uint256 constant IC37y = 432499433100169474280343727517209507946637100968553874268405765061538477445; + uint256 constant IC37x = 4923805680619712558041148627180412894618814370791809218148710342274158135196; + uint256 constant IC37y = 9212367429916653163823902174986132287965038820557736474759520196978807397837; - uint256 constant IC38x = 4484001954171890993129130178754704164281480451053104064984831605862602260258; - uint256 constant IC38y = 7759398357222525722136480306881167291726062747218708405778490387263694708092; + uint256 constant IC38x = 12942468286429330025491680881104099355869907877123154621478281823281672438460; + uint256 constant IC38y = 5742387420203373457523150545164604058553496542789525729170481508995453734501; - uint256 constant IC39x = 9879417966637100676391650403146342713449629632519434140235680754294946551949; - uint256 constant IC39y = 15451915567461765109128586274365779761014171030437692494597946077719634133869; + uint256 constant IC39x = 13155721758501450456540788878581083375027348389869383871707038304112469426742; + uint256 constant IC39y = 12554842297586489610503656125055456018515638106992178611896256706597617088089; - uint256 constant IC40x = 18015815737895485624311190888781881473280290704069209472984130604071174626458; - uint256 constant IC40y = 20571471454036622825620290594405505910463099932329480776779858769691471312936; + uint256 constant IC40x = 1702130183066982166254666152038352805149098126180934830671268263292398688611; + uint256 constant IC40y = 16604750710570503491425354769291827713972899006555075712140828454064480745026; - uint256 constant IC41x = 14112557685614179038383128489280480211113230260897628782350879610506723066296; - uint256 constant IC41y = 4625717768090043519906775978425574543701446953863907012515553618711405705039; + uint256 constant IC41x = 1365228981768165624203176608340171044512181669211797179016988098447897917267; + uint256 constant IC41y = 11778052944130623410459887035993660991610453258914930831716279482009590865197; - uint256 constant IC42x = 4983395328156700782015316268806625602806315033043189097352204763000436518560; - uint256 constant IC42y = 19482783890487649350151682111521490854662824643737828880902462296743530267628; + uint256 constant IC42x = 14413764977985707179587923627137261115344163657318165490991312771932534750661; + uint256 constant IC42y = 12338277752699459540355291103989771234223976025802893851898760966168655208509; - uint256 constant IC43x = 21633845127215409049488491876378438089702751885988973713465151949792257474714; - uint256 constant IC43y = 4371850726978329918834280756138306161054656307479387812738196935174831422645; + uint256 constant IC43x = 9662696933280976819522967545833947214825903773663391705071728222768614446511; + uint256 constant IC43y = 3886981075841040642068662376865402705881018963189896314499583323426736726312; - uint256 constant IC44x = 2548882568327324055111599210300480241321372701942701377576348328402662866139; - uint256 constant IC44y = 4524021331764945409786735318785913263007209055921801384420761006536725314685; + uint256 constant IC44x = 7893827002631979289339382779588656048240926480819624493966014677932566556549; + uint256 constant IC44y = 2910945823597223335760145409168891190251514029001272174979931043461133021252; - uint256 constant IC45x = 19659391908153913811596124442049624885170131973489352829333546344553135257510; - uint256 constant IC45y = 16656715280271362420772172624260010221348141492431711855276122544565474520702; + uint256 constant IC45x = 12146687162064162015278671959587816491984447890268437651874680880115658252338; + uint256 constant IC45y = 1382694196057536753094581486713070773722425441434728740859914238433065048750; - uint256 constant IC46x = 8896984418633548964127728431478188318864199890855270550143492636924721511210; - uint256 constant IC46y = 6919482284828007839477398069876856393249650014212985389404248094124722915240; + uint256 constant IC46x = 16693082778701816387747479746397553215979942385824176829754676984562081772126; + uint256 constant IC46y = 14496645008497096362528322581099207004874034879330545480500953741599791457890; - uint256 constant IC47x = 6518290439017095560691399852424249132778068085813366319163817711881824409791; - uint256 constant IC47y = 3284685835801965119116146561092439174219777476240058235867822621338673579331; + uint256 constant IC47x = 8286409065768209871837336774944425028432389035202051815526184412475138582493; + uint256 constant IC47y = 20958494067098301376903324838558680364883546494814833116272477564892609605161; - uint256 constant IC48x = 8033604856053776244250552744122408354496130970096388922815908609048973073414; - uint256 constant IC48y = 8336855926902257978469622445918692362344917252278601299635228486345513119588; + uint256 constant IC48x = 15298152562368992337079858255415472968126110701058013835922171087942080302103; + uint256 constant IC48y = 844254169216206849304369762676085270041914736725661888283292285374147213687; - uint256 constant IC49x = 762719527935435450516891704363874770750583859888948178357853607647175574612; - uint256 constant IC49y = 8256041118766190616011652913286853532083118591061155675870667840754356402534; + uint256 constant IC49x = 1698441718582791237234567660348671026077157747145627542608739184116395583171; + uint256 constant IC49y = 5585005773720577308334698383470773912077271192301413188583487899651391115849; - uint256 constant IC50x = 16686189358510727991101848152813188162502396281005620677822213040498626183631; - uint256 constant IC50y = 13510853093329976521861634140640716845068141465351777749353954827649112591159; + uint256 constant IC50x = 6653538654074091654188927988023164345291706894738351779956844172268866786754; + uint256 constant IC50y = 6972350141974513410820980065716821457085663786160924509547609817577181208289; - uint256 constant IC51x = 20863154444170938062541635700383799267943965694931673908472103491360316658198; - uint256 constant IC51y = 8047896606703175255524543937848475341214773991450368177617603514417408284270; + uint256 constant IC51x = 6497759326470292813088363448133951958012847198513433416477575045740163539870; + uint256 constant IC51y = 1308594356454062378672832124907657717600277104883173152512720068417350623200; - uint256 constant IC52x = 4047537306843338107901229832168496874090806043500283381615935615881345211899; - uint256 constant IC52y = 12790093502738348919276084773794473095147923720873582923150684934895855964843; + uint256 constant IC52x = 18746122564165976323032258039882424322333543525927629803618779819709085192981; + uint256 constant IC52y = 12184371638620114464678937103718638498223637355477271685434342905827480281001; - uint256 constant IC53x = 7330815624523775722379710936527938383081945716002232059659696872814735920048; - uint256 constant IC53y = 11025097549787579052576667472578692374447143298962823741805882088598771978547; + uint256 constant IC53x = 21439245090204325911043610869628978696448349723226529238033596971045441976590; + uint256 constant IC53y = 4850002669560604629428286162665106392161886556122792034049159947730646935953; - uint256 constant IC54x = 6231008058243754325016081071935251733134866552710735080928614245502954021040; - uint256 constant IC54y = 7318863159203743682119100550284270125004015068001103343401793604986091890654; + uint256 constant IC54x = 17466144696861958187963433421335745915385973819139252342639156590840230068779; + uint256 constant IC54y = 7727396074348682523164053254914396056918609258424874802898232081919951265093; - uint256 constant IC55x = 21158029041222423410043352319174457316558083678598576072929387420624163192416; - uint256 constant IC55y = 5531279798799451796652659709739245849351203722729011301214119743849653788069; + uint256 constant IC55x = 19581664116862314698531866032800093258332752318836923178004755497061497685939; + uint256 constant IC55y = 11126414839850110510658748241547722042743808626516378590751397180032399448033; - uint256 constant IC56x = 12014862035046951355101419994223969637282254292721192822372859423245150445446; - uint256 constant IC56y = 2311764065876764832527366306553093967932622817497205041098152431617162581353; + uint256 constant IC56x = 1555275445426508726249642760668249847953444834772971785639302561725466137631; + uint256 constant IC56y = 5909014838425697251873633670948619313423830928753494466999644605997815791978; - uint256 constant IC57x = 21695280614967710084389748570241416093602962398056849805774508816194950194787; - uint256 constant IC57y = 18191654181966122754741527150719336027917617691575071992794751979286395392305; + uint256 constant IC57x = 1946091155935944224284156702874151862203671995144719721047429285162747723900; + uint256 constant IC57y = 3842830934553847421364173075076353381103652774073735727625744911976909788197; - uint256 constant IC58x = 21047846330841419928502996231645927247655382607859750880249123377525227364150; - uint256 constant IC58y = 8402491704424326339367963738500912842656389498202887832115378169344708513916; + uint256 constant IC58x = 13984891138851211087299040065988766976902738506098457294667503692564004217961; + uint256 constant IC58y = 6833360310986886937449222069493518133304219498132532145214559957040846778504; - uint256 constant IC59x = 16344244402028661110837125795426397906771725930572024004274316943323997456523; - uint256 constant IC59y = 21727029327269051634516907877146408348576114856630675172891629001833243048204; + uint256 constant IC59x = 2521309953371589468717909695101426175839555288319725239216129331281448745343; + uint256 constant IC59y = 197291583285144987866011132212228598644754939257042343352822289247618272022; - uint256 constant IC60x = 1519932788273488551267386972646448462828859765352364410394075676949554336196; - uint256 constant IC60y = 1979959948671052063532067178298821868327541781645157457232819226861627360091; + uint256 constant IC60x = 3942043936398919064776361221366551469253623864623716630117320457793968943161; + uint256 constant IC60y = 19985612029348496207223080749235940035091947628854435492590213727538807148494; - uint256 constant IC61x = 15851885538948597596279699719636980170694995391190241940432604960671958363820; - uint256 constant IC61y = 16395946444733592540419673435491743548984853080511400784779076941597452257989; + uint256 constant IC61x = 7204107713915577578901374018972522972490292157060262783210244581961609540563; + uint256 constant IC61y = 17073077707887736041347300307350478930095184022792756258220523873053398332033; - uint256 constant IC62x = 15892532567883815305704420388191894385518913231207078932648068055695706659905; - uint256 constant IC62y = 19847117276181937517962758799664161738662138368350262518470665046389125666410; + uint256 constant IC62x = 18451637118255339550722635151945423381845453206881952374015537057482835516462; + uint256 constant IC62y = 9507958093355892413764910279033827052743460181462735227403625313383913096747; - uint256 constant IC63x = 5666231684381871047335202691615462369540432942935744756615905034997241358593; - uint256 constant IC63y = 4517591676128014860099623345457663896060365914890087331336249141431435990057; + uint256 constant IC63x = 18683843793609950074502136373814743023777839105535063161991103434032176456683; + uint256 constant IC63y = 512327050737311005644957835956341501076636880254604877331797429219007040234; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_enc_nullifier.sol b/solidity/contracts/lib/verifier_anon_enc_nullifier.sol index a612f9d..77a69fd 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 = 19876750659126084648781916267169952039898085452793506656455360629047775833084; - uint256 constant IC0y = 10157630826254470353592493547211159375103615251420332486004982741410889391859; + uint256 constant IC0x = 21767113377457482163774763180961397571908861454965904438481191641086468233901; + uint256 constant IC0y = 4624875861526567202911495814020331377166312496504963505349049843648608533701; - uint256 constant IC1x = 1006419871379194227645853228058342790633803257715100685836501427758792979718; - uint256 constant IC1y = 13679553887979892686379890265371954685898253143000822089264094714043237252505; + uint256 constant IC1x = 14860986793062837263857437470851021773286614977775025642944587642457106373388; + uint256 constant IC1y = 6780359360136861569486151620398671261117351149004946989615152144109249397803; - uint256 constant IC2x = 3715728704259722993638903237986848760512440720041106088435520362949498063590; - uint256 constant IC2y = 8391552203277376498738529495525939133072398798850813999514972446995794089460; + uint256 constant IC2x = 845983409689203792068684372342501483920956566184228820642615845345898680446; + uint256 constant IC2y = 2264399858062580268203906466763966476019056089622366150777936394716933917456; - uint256 constant IC3x = 5031826911441025949291520009973483009524287753952139587396797636282286891244; - uint256 constant IC3y = 20579087454021924361114885033880187179171289198562214730578278826911706970910; + uint256 constant IC3x = 20875590774495758723664898995248858136986986634838621272991805319889564743025; + uint256 constant IC3y = 21322092515441561103719614913795933937703294036794980474550790297452413119032; - uint256 constant IC4x = 15815995414752784966273617997528858494841241711794753514570134184286924819262; - uint256 constant IC4y = 11375983276465989338201518952970544302185922017641036134919019359457487991111; + uint256 constant IC4x = 19241982039611816000788771949737316356191928521635430701971460379905507503530; + uint256 constant IC4y = 17418348432227363072982893999961998550912553041727999771911798781453917592631; - uint256 constant IC5x = 7518674256187085253307353359020854137408714360645900035693036183007512483329; - uint256 constant IC5y = 11995938012397982601418225280628342446621544366858946027840346934499404102632; + uint256 constant IC5x = 21012908855212094839233072039264020664917264383796020919831824878452917527658; + uint256 constant IC5y = 16763507679982019298101191460830972703239140291207409753764584934547856710197; - uint256 constant IC6x = 15267374712417307293040940994030902104959977118650909337663099566364626518072; - uint256 constant IC6y = 5530990323343555014269262862257996754924002498968209622354556585950187481843; + uint256 constant IC6x = 11797940996879832419100924970381099799932007110119015028461836435572655782607; + uint256 constant IC6y = 7342629377573433476209633696567454339786426287092270009487900518749996938677; - uint256 constant IC7x = 21023255143348233142500714355446951501540115801774857194977224041618458264188; - uint256 constant IC7y = 472927785540481717106345971778958190234217026786776559831791237013589093735; + uint256 constant IC7x = 5226667991218594386538121639762171607859554274771698182250369812846472765157; + uint256 constant IC7y = 2643622664861522739176675092302307445064124162629982423740703951704445281744; - uint256 constant IC8x = 17825919756494338352176536684358621929760494758008587254717725749503135478308; - uint256 constant IC8y = 17068224520116873027698813365878576588002459283548668758602176285663561662029; + uint256 constant IC8x = 19173808930079167374386453874770185211790885995046093093102688944488107276128; + uint256 constant IC8y = 573907743114087661460713652375805152022924954398257734870306723679427156437; - uint256 constant IC9x = 9288340017635717823974105519466830937027590535672869512830371680650438882883; - uint256 constant IC9y = 13498219009840384105182320344308054758257473214160879680243446950578858396027; + uint256 constant IC9x = 17296109958994013235070694309650997517098371526835385974517925258495812080570; + uint256 constant IC9y = 2290956345454715673378395896923573589970135710846019254531160421318899454637; - uint256 constant IC10x = 10825805175323743955259462349719064635903791539136337995876363102780409208827; - uint256 constant IC10y = 1115504305836721936075079105116529305538449162664295634073062821015745088090; + uint256 constant IC10x = 7980611979641535871350781948454499183632551034018083330962769611772384985554; + uint256 constant IC10y = 10839341874304400265966117411599364749382683514447312223600777925830253594477; - uint256 constant IC11x = 11669813518107266838225949957024795758089449338058567689706264445951118380514; - uint256 constant IC11y = 19311572555190098865151809991755342479851287912918808422593052690140358084385; + uint256 constant IC11x = 925674381192744625668098194172392649705674775222138450006550254068692584858; + uint256 constant IC11y = 6540278959218686598083101327548060628532092094535168742584075267791246216974; - uint256 constant IC12x = 21683312098808000171240657259566619722289832612554258742888436811569815040989; - uint256 constant IC12y = 13777530128943642245662042630547869743512576001282756663023877807803685507403; + uint256 constant IC12x = 15798050610002443084780214645264059516993617586829604603864730684970676647776; + uint256 constant IC12y = 13329948258968477217196539760848048404209801267650319569672860890154306692690; - uint256 constant IC13x = 20156597179843111967026721274386866765737696155720692112461739507711012810100; - uint256 constant IC13y = 10907371635030104915567475668490816721583549559437093210216617280595829192040; + uint256 constant IC13x = 8990856232251863542227189334160620655223502510154277406768438818018574959032; + uint256 constant IC13y = 2937234133353045501107451354135532249703937455843003127763280966885612030375; - uint256 constant IC14x = 4692594447702510658546900259188561388604882931717359330989201667570735328686; - uint256 constant IC14y = 1284708522029385151074943772571615337152095962882580914473267923470779211000; + uint256 constant IC14x = 1010902038545283042953412211699962477717211786665371564303886935044209553534; + uint256 constant IC14y = 433526644315547962324934096626816096826295667205123833309665729101015038661; - uint256 constant IC15x = 4409581048357818185214443303715108952889625783089488762783573602156065109832; - uint256 constant IC15y = 11439409580504544242238613785228385917166255947401354456819136268098590113178; + uint256 constant IC15x = 1467017793637684099973010225751266995695270652095719663995487312362716717018; + uint256 constant IC15y = 17918994056503724120023893565716365544527444988647749161602683788209457176719; - uint256 constant IC16x = 10083443781280644917399985313779247136250342774052861677887555888187879416054; - uint256 constant IC16y = 20118894154839101543157744291472024541467090297460046537117806913364727496094; + uint256 constant IC16x = 2924103576516766792403240615102674255252226232625806632563709128756163420079; + uint256 constant IC16y = 11848577427320320784850393168109219367236172615919411876208678204818106696515; - uint256 constant IC17x = 557787694688969716784460976822327229535335668870777823826839775158554547824; - uint256 constant IC17y = 758367154990127281411051038369275611551408244159114882061221660753636478055; + uint256 constant IC17x = 20416484247874595802672671706215547303999872307175711266743362488864148349000; + uint256 constant IC17y = 19553969545734412812649583903220244511367307525188871900872552169885290158342; - uint256 constant IC18x = 4926367635472940276029209160780064453495162488033051992210935046978208551129; - uint256 constant IC18y = 17450687001922454375745873524743702054821633833645906243064145565845267231029; + uint256 constant IC18x = 20953617420857830843754271872273927107747041835405498061334787891469941132470; + uint256 constant IC18y = 3706281839732279609368724037031469687441244631269560192848450847915887465657; // 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 fddcc1a..908b052 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 = 10857768194358538314597152045783934155334107736918368597696105768676212161377; - uint256 constant IC0y = 1551548171949368970925346068541575651000718431760521670490549085538687580360; + uint256 constant IC0x = 12699120126696616702042795693835611188938513442608634761357015044495869534559; + uint256 constant IC0y = 8344144876820303933607569467583547699970076103074219088048430750743063413510; - uint256 constant IC1x = 14588657582801639408937279843859231734880127737113089109447558940418853614779; - uint256 constant IC1y = 14270623203395264219426702964443203036050040299992199641698592426332349619398; + uint256 constant IC1x = 16416187884844297027288471132769288655520271533320369114014964168346544540099; + uint256 constant IC1y = 1356878528531222818308966247184526360115916898839678836338456926095536339154; - uint256 constant IC2x = 13135368820556110030460013304378046508535906620084175730907419358915557603829; - uint256 constant IC2y = 10112779695325998864588748108456082491374975818516659485960543973729520798853; + uint256 constant IC2x = 62377595929696134593021652643034971570500721077666972934681131078030378553; + uint256 constant IC2y = 795051699851867226917297512137936608173384492583355182402882247080050306762; - uint256 constant IC3x = 19797205441434515503986304133552067429488642533210813091677813273868948412520; - uint256 constant IC3y = 3668027752620361087268658844895342798986261333705883847303486025263132511301; + uint256 constant IC3x = 5778121379725944821697257908170619793165684439236685316571909334392687899276; + uint256 constant IC3y = 17630593971921462955170227701775838498133145276294541260919912175629955590952; - uint256 constant IC4x = 21650017326146781414301224076216321262138091509402450867783016337102877083321; - uint256 constant IC4y = 8899356409675534961567207862945674519692663785942434954291358650301375585303; + uint256 constant IC4x = 11648675848692895486398380931205112710900443013025130751120220887680971301001; + uint256 constant IC4y = 9112971668938924276430383851378963073530364244838609886421838460341733181460; - uint256 constant IC5x = 3652696515059300354063305269323201634257733026059378405626239779412185486961; - uint256 constant IC5y = 2797593968101997284996630534131979226227593880936820735371318427444796682785; + uint256 constant IC5x = 19433172173183793224443162261732029406936871437981801516259894733300324671275; + uint256 constant IC5y = 2915093366719634833839215845233668383997328024428828942085149280931459951140; - uint256 constant IC6x = 4623401628587947458139760485392513940092100820765002768337933595735657837833; - uint256 constant IC6y = 16915253145147865830493096188334466347397413059805656346869036690463147154550; + uint256 constant IC6x = 5595466263083621450560903836725049994659258503186339414406629970485916867582; + uint256 constant IC6y = 19552530207265724629443975256194837879150213972190604620955234613515497981680; - uint256 constant IC7x = 12827823753552334302468725162427095261755116012708002987548340386275677726085; - uint256 constant IC7y = 11226221182181486224747039503561912896098503169458364652548743214848374550499; + uint256 constant IC7x = 1064092098138541396472812300269891619006895953022231558798684707170217862859; + uint256 constant IC7y = 9729512566238938916142555929136528327876358811762455691736863224135122969128; - uint256 constant IC8x = 20898559226326288889681623130919692456738317923548537960901153367615019268068; - uint256 constant IC8y = 9070428335740018739303508108600208831132580605773750965820052322977639251942; + uint256 constant IC8x = 3480034825220742039321661807859539559487790944236727626343339662759175828244; + uint256 constant IC8y = 11234719524533162198018887224755739887580346893041635195629739201452211003396; - uint256 constant IC9x = 8050097890914828889023932208013143535158869752052709859342955716385596549091; - uint256 constant IC9y = 8395274521796654408400797569281540296411653812274481691980427197767442464318; + uint256 constant IC9x = 20128546724484968618373025391691635005285048004968997078102062559745538738527; + uint256 constant IC9y = 16622117428773262357548599756037436875123188142074433076149748199874539244599; - uint256 constant IC10x = 13922997793745763139199091435552194624924338984276118041923137165159414489617; - uint256 constant IC10y = 17190760584181366214482348917958886830342960073788461163240752374739039367517; + uint256 constant IC10x = 6192868544745884202867714575960488584993007452154648686652705451762021337396; + uint256 constant IC10y = 7363064185873803843837289694577158433195395437848177254145939886170294982947; - uint256 constant IC11x = 18573754346782716206331566335772815584107457268594228676417638475501883398507; - uint256 constant IC11y = 1276355044880646498395596779226345053506691615508461180965615150342596093068; + uint256 constant IC11x = 19499671436660039182126923224645466681827359494754421150222793906305268832309; + uint256 constant IC11y = 1504156192589699581704155613080956320263905030823478823357215409776477412734; - uint256 constant IC12x = 2673539901155835498016297649459370405043711545721709136179600384236599195441; - uint256 constant IC12y = 7435538874647432820547059117218831049516194963447372699909663787606234244210; + uint256 constant IC12x = 5810283581801698027066450791302740182334445425784298009106042631825936448678; + uint256 constant IC12y = 13549533261214492083371490196814671538332418856251963243399750551613372617365; - uint256 constant IC13x = 7082087086596593606152406967047300386957049695099683464929745927413924013410; - uint256 constant IC13y = 17313354662137902697255717796862264594146831120263509969356399881355284453245; + uint256 constant IC13x = 5557172463979869267861018383267755224034719297007497770145587551639958546302; + uint256 constant IC13y = 15128771588928691820186719291881157071841015784848059733649430540846864383323; - uint256 constant IC14x = 9623241897418550147311653622048916771059084716645080539170198888417905276790; - uint256 constant IC14y = 6797487823008499289482673886125102026103721769980091111118342554070587284088; + uint256 constant IC14x = 5807025266788758097546839923671472753133016173533249036682024354299181358981; + uint256 constant IC14y = 5639889194579311603520751949731695994047088506765702571183895291116029634344; - uint256 constant IC15x = 8479487671543071115911363252047909495674631323589272460154209800083349869257; - uint256 constant IC15y = 3612450141982960000430513805106849867756778088060194804718707745310286896961; + uint256 constant IC15x = 10162609175987836092783223540619402762161091070243807344151842009454415349994; + uint256 constant IC15y = 18391215487928656682156136552562585306151369748145684180203461382068026900412; - uint256 constant IC16x = 6821902694575917726729513891819547198582660125414204630215019272992397765102; - uint256 constant IC16y = 5712334086296308915849533840724578183836005055892623925736836078857306527169; + uint256 constant IC16x = 4151690490476318266796233372151034315263210679362931921371894868174179906596; + uint256 constant IC16y = 13490485868830103570735602138780651362886666687827340823679612418156575458926; - uint256 constant IC17x = 20826828608964023659231985349704436132063025732865231636933188732724229411855; - uint256 constant IC17y = 17839122737466360433763412953014067139047648522719765671392834780267424003504; + uint256 constant IC17x = 14567368626938375490503489633630652731803659155597234964733972824017995660514; + uint256 constant IC17y = 17604576907470579907411863989543242253978919634445039770581037923252698357254; - uint256 constant IC18x = 12026046725093986521936681237367505500667270440561607456913754947526555344433; - uint256 constant IC18y = 11134702436012104753714718437244204696034069597893357529274808560586487041683; + uint256 constant IC18x = 12367945773804203812958730056460709958463094211592955693369032022191192772429; + uint256 constant IC18y = 11955892732098442171114103395643437475596988172858342209440520216362951113240; - uint256 constant IC19x = 4574280582890764783558975466068406949012517836616841998486334632675529966967; - uint256 constant IC19y = 15846592310503827291280402888069123046276816810230296947693855874210634897291; + uint256 constant IC19x = 4276095971131263755704734671384505897209869999279528469847145187404938789378; + uint256 constant IC19y = 7867228097926111735592064679006570049408362547617697035377442696578963774222; - uint256 constant IC20x = 552068498342887768812099869866536959489327984824118802930850366451374910761; - uint256 constant IC20y = 12129711921583486092060444306009295536785476561521077885641863153904968550057; + uint256 constant IC20x = 8697247021559379023821175301657654576484428929887686349347784598140983344275; + uint256 constant IC20y = 7733952411307920955571395188496814509547872968144767087124855991198678821450; - uint256 constant IC21x = 35176914906762006216694931727792728048628009777033065069148278568613590699; - uint256 constant IC21y = 18058778029527063862776255317455122603612362893636939924117082347476024248811; + uint256 constant IC21x = 11069249984946003156922984157538148964689893528982320909760069481587218669888; + uint256 constant IC21y = 4525904377283404280832442867774150625548954602343012113656922703708546855882; - uint256 constant IC22x = 16196397870560278701563331844896598282045038093084429632905028254807690392187; - uint256 constant IC22y = 21657460375281031799499817367875046770454748835682409424465614212808894469745; + uint256 constant IC22x = 19995029879559049737140717590625727362540877795667264843249322695814476053538; + uint256 constant IC22y = 16782912606660321995413530692120621565652252570948354564325812188511468986824; - uint256 constant IC23x = 13646067610627278801288663785392091700343280238288674876662200573900835215907; - uint256 constant IC23y = 1881671896769581884207942674093567432802826560154982588372887460508857893515; + uint256 constant IC23x = 15879491562113477893492916800322788498146432217571197621178559816588987114530; + uint256 constant IC23y = 18345243144103043831415183995976253140695546673560033918968658099441394035716; - uint256 constant IC24x = 5614009327966828687083870199045704608356331042583753955359206092835397597027; - uint256 constant IC24y = 15372892361541144090465249992591722178863954946071772938944180664654818828543; + uint256 constant IC24x = 11540104220374067619892577243403073255785236378874075972793236518651277496487; + uint256 constant IC24y = 2447150814583376335165585488011237986277384339213106095041265678329719904380; - uint256 constant IC25x = 1498929179339859981887512998084588849124227068666268013099808455877621963803; - uint256 constant IC25y = 7910331318425789254048095716253514723806783780379575570917432233706022188723; + uint256 constant IC25x = 6907363068343010264119590133489740018484742849739200604819595225345777863822; + uint256 constant IC25y = 10497272656197408725533467291802009926844236980207326224299212930278369944834; - uint256 constant IC26x = 217247954099122575458637857462854752748498952701241258357496332369230539160; - uint256 constant IC26y = 14058807406880304551223000306982972305142998725126948868850812104243479321324; + uint256 constant IC26x = 5241983233672840552357155493455034223546322711322586593362057499228586689550; + uint256 constant IC26y = 17342107470460595815722849962358482961160523085118017854935695194746008032109; - uint256 constant IC27x = 430355509801341810133435178938583521244278906564175006723457834948692078040; - uint256 constant IC27y = 18749893180686672959770986175122378529608535349191403734529092834350171038470; + uint256 constant IC27x = 11609509237926952581278891719411603262732633897631996202688438331855735628420; + uint256 constant IC27y = 16683132210461713295491633924865461628466075144052269471913039880797061528414; - uint256 constant IC28x = 20785267342760452754508386421043572085700759236828338637645586954138110337447; - uint256 constant IC28y = 17232279810560518722565445717689236704547081191951847271658306446375995721765; + uint256 constant IC28x = 10857083459438086051349049372620002191381804158083786617214035873215380402382; + uint256 constant IC28y = 11032806193187811193176278230374678926793237372895632232689853903462559436942; - uint256 constant IC29x = 14828539470541775206907007647640991192374577253146751470945413595997758766438; - uint256 constant IC29y = 20636266116512194880537893502304745011905315899016958036003341230027114696328; + uint256 constant IC29x = 16442095169356731028245656357397228483894885673281747373520537831671678347500; + uint256 constant IC29y = 10194336784225623186377260675151632667280228872933374130243686609999461855558; - uint256 constant IC30x = 6362433393251530635726976347941818083881377807565015744753393676431197377728; - uint256 constant IC30y = 17290317586594588071616002431475986595423204832542336389505352030052018438973; + uint256 constant IC30x = 6042594869559336120559758721480656216562480694112514781612465515241783859657; + uint256 constant IC30y = 15690364860967004757660378335551690106688797088781934710726475379872593342164; - uint256 constant IC31x = 12031451174133590769007305909501328912833754463491657014430525810498287873101; - uint256 constant IC31y = 9671194948697245862875430655803499459356273204263654693271482110365056491506; + uint256 constant IC31x = 17732694366571578842559868720837058528112548067368389535938406574527136591155; + uint256 constant IC31y = 4359611907512024893574643366872508951647492586252158534173498229222575617033; - uint256 constant IC32x = 16021565867372018867507220019489876974441461100321703931347681941849592519477; - uint256 constant IC32y = 11736561699016988991253310519182109984518318839358799406257393145762572723826; + uint256 constant IC32x = 2778120878586061655655392392872489784684757293077230999948524213670268135054; + uint256 constant IC32y = 7029550223480030453696961546180027335820067855331668166591702360338330101237; - uint256 constant IC33x = 8200654606945508236816804702951512164840224741324026288118071234406945136731; - uint256 constant IC33y = 1985033951745928578429658688753901785557359647359090081553586066550690860180; + uint256 constant IC33x = 17767055144163730576178202562939832974889131269339028603191826770918243798556; + uint256 constant IC33y = 1818684365456017483402481443072970554002760024639836215168425160231365960523; - uint256 constant IC34x = 1640774704000911509119308004239006555149330558130731176218730309685179306947; - uint256 constant IC34y = 9295140487943942057633431978771524530551049498124720002254359354125763405455; + uint256 constant IC34x = 12938886031192008028421784777919205508549236431618587168013786476329699982980; + uint256 constant IC34y = 1274880752692627174741197973146007178590877750589310612683002118807522308085; - uint256 constant IC35x = 17093734553773960402388466535220773941100757402335509298424866339239222145193; - uint256 constant IC35y = 3059128605117733304330480104065751810591575836619067951667044079660323911649; + uint256 constant IC35x = 19528148884756902787793890760665720434929686084507239986978636575657409539991; + uint256 constant IC35y = 19400448331226452208115510908379529033930093539842972440403598979706355380421; - uint256 constant IC36x = 18264102007239643202358631369090727433461217483169515568065273107416880604399; - uint256 constant IC36y = 12143290151506783504782097020942989389269794589152906534195654995143102193270; + uint256 constant IC36x = 16780282682835375557250117531571256271951377548397655845278616408209361042791; + uint256 constant IC36y = 15372350862294356096899155332858397578384657789293766279384852404791810618912; - uint256 constant IC37x = 8428721104338932910144867986251826915414990412932978591034039042589214736930; - uint256 constant IC37y = 8855417831368285984534171368864290514645275716953702202644983517435735474062; + uint256 constant IC37x = 5478498176059662966773694794169465131669110633422122115374807816304240221602; + uint256 constant IC37y = 15074772174599376522775664278048795266471337996520255985531431061181793979640; - uint256 constant IC38x = 11932843103499370774214761436679587076111275171951602594808492814845035422933; - uint256 constant IC38y = 691857578701180269144433604942607236184389145123046325827801577397921814828; + uint256 constant IC38x = 6200178978634834450304453029305448960180249591695383613629624464356325149637; + uint256 constant IC38y = 14490933624916793439135104770495927369444863740282601420005394673073628653201; - uint256 constant IC39x = 18313922732421399366802902051074755744274071755751867844450868661465138174030; - uint256 constant IC39y = 20657589528611086334891836595390513437994430409102519679963972569081532760535; + uint256 constant IC39x = 20241838623287671070830097893936952058131085715139618862611308853513207551800; + uint256 constant IC39y = 21611284334557391098090875823180739919691042864559042568719870862030796999136; - uint256 constant IC40x = 5737591812836908688455167253789575767302444278194066173184070180744214280194; - uint256 constant IC40y = 18609635643670896696549784215672499025901018147627235066095455825418142825805; + uint256 constant IC40x = 21254129275772115462470456810971062550574666839368404807554019503570322232100; + uint256 constant IC40y = 5944922866813654488188067902812568258514133999185502944287887468006186362059; - uint256 constant IC41x = 20278278333579053464183574983237084138303103723212351493753958889049485376781; - uint256 constant IC41y = 17782657638359447051647592853506973349436993753299894190056310276416878165277; + uint256 constant IC41x = 399337321031148134723747323715593967130740443573603921281423579006949142671; + uint256 constant IC41y = 20211187410182462554359291249890939350039380739046860335937562807928109941082; - uint256 constant IC42x = 8367059665181079186528582197123102588689602937981823625326270094149451536517; - uint256 constant IC42y = 13533135439018576382410911103119438381317655350188498259514354938167828351698; + uint256 constant IC42x = 11263568872993899068924935042554312931116679478846550483681421139730833692616; + uint256 constant IC42y = 21405568442565790610225914462296754153168798276026936538920950452345368360246; - uint256 constant IC43x = 10710324277604133223652870346494841115766125505412819627873931900562308648127; - uint256 constant IC43y = 835443959522164685535884730877434707142419429390233232546806052213058906537; + uint256 constant IC43x = 2823572327618327193193372850965163553650503303469408547647576329912499453168; + uint256 constant IC43y = 2347660115880468836079535764534295581788124330253933014147408105673089036171; - uint256 constant IC44x = 10190313297374595085128899183242823870538844395173957213930013273857126190157; - uint256 constant IC44y = 9590027764386155384343137359812160039270984799297083253615662211992466067377; + uint256 constant IC44x = 10340788708034937398811280176510131265694252503810809473342169518490813155024; + uint256 constant IC44y = 13680236879040431162592045677280925311405510993026288397049960642501926514173; - uint256 constant IC45x = 5127701003800509362092012987313242991181389443752275914963019881007076681969; - uint256 constant IC45y = 21106373523489636465875661704934704450713452883809222214575535712213772691988; + uint256 constant IC45x = 6765619156941756279383837882548687039221094434606883423590352844089037361938; + uint256 constant IC45y = 6742538488678883836036897309729718578468326745497457648591401406156874005385; - uint256 constant IC46x = 21251844251739602049905559999440001661933522877836787511459551029762795553768; - uint256 constant IC46y = 4461852991203369177281856775388032474308376098547954352881757483707243960492; + uint256 constant IC46x = 16166897669018342945228620822053346072458399668346555994400248765285924022174; + uint256 constant IC46y = 645270577003733321532731978645138370094792284442810780141862282313487597587; - uint256 constant IC47x = 11112510306315834925133583455293546665790029576877121304743879820849112239574; - uint256 constant IC47y = 11385073960475161414263547617493580482987974358109056930913742796656451434113; + uint256 constant IC47x = 17796077998680558099309619969742872490037496919115499349698492850051112818792; + uint256 constant IC47y = 18524964584367387988031317927154312757173488066745203642985493445396728590893; - uint256 constant IC48x = 14085383499391738104124103009192017386763342402227477952765942319452177549841; - uint256 constant IC48y = 21767397946694622118459525312393256593264361917242986164985821123942842708682; + uint256 constant IC48x = 14103606686160945325409251295112261588748977591928739830658506596900521371039; + uint256 constant IC48y = 1190884103334505563082115756204462501310797058962010390475165898957174931322; - uint256 constant IC49x = 4594697636626883683026684788149112839173818572790425888690620436487192708104; - uint256 constant IC49y = 15318942332787673498467322528948175113023800541832714852865266489463146211133; + uint256 constant IC49x = 6188762108235943613838813976256075225617067143437912361997816760297557659768; + uint256 constant IC49y = 14358018960628509282573113513124426414867483573390240064161023178534476179740; - uint256 constant IC50x = 12723642669487993809757271947593998575989448450414103364438128358594324043333; - uint256 constant IC50y = 14554518787962701054328592062886716589952687831488816105655759240233901302870; + uint256 constant IC50x = 5010943895881112819337136285334930572902882157192747573651889986077033963320; + uint256 constant IC50y = 15845303077989219001554232997764521993286457654994772252995069042938930988530; - uint256 constant IC51x = 85133179060454883037313071175049700673863144128662372957803647223282502560; - uint256 constant IC51y = 7871257133812178163028061310977450954057825614043212613572384171597345881128; + uint256 constant IC51x = 6675377407358434566356424878520452085552596913846786731020880338223037757746; + uint256 constant IC51y = 720242893255427990994544475253079608079593937632594119796893849958839722715; - uint256 constant IC52x = 1342657553906280138243319647706200196355957216637027173395288566450412119894; - uint256 constant IC52y = 14674124676602567534949781813257913237191167030310725044592635024301338017658; + uint256 constant IC52x = 13379318499323388188479497019098911777657013359516763895261346209992912864515; + uint256 constant IC52y = 19566919857328823167851410345340297316210673149628893933079307108406697105821; - uint256 constant IC53x = 11861281655297301548410648207716081773199641162211247643314595471354164682905; - uint256 constant IC53y = 10196389138883482122944241909716121500057498190147552712869019860068933027273; + uint256 constant IC53x = 2025377284322407301981536997201561140692075694304627248659643894144453142416; + uint256 constant IC53y = 2598672243503327646982192757420633979044834312900891100569754705341166761956; - uint256 constant IC54x = 20200891942962698605638327267502185999986230571031250955158609431588859667173; - uint256 constant IC54y = 15153304292411539359389306889752308608688351646100972117483073029010234843666; + uint256 constant IC54x = 2911252001272494516780270051061991756501735385145780178648200878858346395246; + uint256 constant IC54y = 20058035803076597291474774733721156115546412430379924936941724795251956858015; - uint256 constant IC55x = 3590883669335716276950248120485084695435950245197150246643530675943031513483; - uint256 constant IC55y = 16672092824828957614577382062931587381317729597881385785055550039445041027146; + uint256 constant IC55x = 19063528520787383609932723879262686559929150275979579698823082595934019112591; + uint256 constant IC55y = 7013786493321495132135579985316763308255254843947287821070025355021117429762; - uint256 constant IC56x = 14219750280862389153715985369985099860318471642803942214385552911107098971211; - uint256 constant IC56y = 13179858453644073899197689284464507638874638448373864161818477257995991484531; + uint256 constant IC56x = 4262640692265432276715940193363862508028087204755883178558047744705315131148; + uint256 constant IC56y = 20337098129576165186509378213173734727792418626627477837433189535716909796279; - uint256 constant IC57x = 2701209449960840613693710200811849157832331602807774105695767757189295451757; - uint256 constant IC57y = 16563524509859497820218951279159349182350725682127037935404341768101963438434; + uint256 constant IC57x = 14455424281207891418470083337897695868202900662947016302801289448824332654097; + uint256 constant IC57y = 1798744178884627063004325311934219208267229273460796033195872754514568519543; - uint256 constant IC58x = 3414175684985968972672214275255792448199365968815072733136917287617864542852; - uint256 constant IC58y = 18622645504279859981648376664566050322654602232963522917682794185971463055131; + uint256 constant IC58x = 9729118825506255517770571745702888878603373341841088470567245750076287902977; + uint256 constant IC58y = 936451192961683933184362049802637347355330375661652800655503224090147115573; - uint256 constant IC59x = 5673293766067799409374422371805460625346446472327627513935712864885777225287; - uint256 constant IC59y = 21411284026213166471174879361745290776967547374405635102315577625862119814871; + uint256 constant IC59x = 18534315685255907438497414483889964395838834854814034122326382566850420871134; + uint256 constant IC59y = 2841084611570775011908989287704544434614599916893900012394634433223737700830; - uint256 constant IC60x = 21670762707797115339505991245287266324440211832738175059503746008042627820556; - uint256 constant IC60y = 10738782034331094544003210285087846694198171390500938499428724984620267862854; + uint256 constant IC60x = 15041518511412460414265286992261357635005476768730413734804519122275789518126; + uint256 constant IC60y = 3895778991520792118962401952066152195510121588353517590207403610703173646337; - uint256 constant IC61x = 16953045628748754354885408433844807041994643381352716897698784182376689759459; - uint256 constant IC61y = 6127896289376683070914145422924841131147483845624765996364406481040321551725; + uint256 constant IC61x = 12649294487817771776508159806621989479201650038199221785764589610678571780316; + uint256 constant IC61y = 6256906715834281346315389832320249046315376783564428723158492198241724316663; - uint256 constant IC62x = 15246494027576980489494412837826402114800667628340474578756376600731624107218; - uint256 constant IC62y = 255405935613365874457852565358726414769491858464880299078895428295575114706; + uint256 constant IC62x = 6487777734464448498210602866323353096353674869775054372552136887993811347131; + uint256 constant IC62y = 24360379694797084595780564785876533565768666324234899928298580775411301014; - uint256 constant IC63x = 18012406120443181819805009355966754224551722021941974548526420228517140194891; - uint256 constant IC63y = 16799708569974408624964150779541516312120665649287169320738241105678445380323; + uint256 constant IC63x = 5811459871973133234327550915668990695131158661382679372114885200990761930035; + uint256 constant IC63y = 4045695106491170309243094361450114338342096314422838585974142172364681345306; - uint256 constant IC64x = 21647434913457732586563647273051144915750412334997941554199119957585605712374; - uint256 constant IC64y = 5646169842102849206670097642242057986777917333159187763781591815797050803986; + uint256 constant IC64x = 2611483657848265565584944723278017183065344110990143105007822331483178800552; + uint256 constant IC64y = 10263548862246892982805848024486855081569039368822715475306243596622125237691; - uint256 constant IC65x = 522924794732206051621564424019162190357895804856558491692190006824849894426; - uint256 constant IC65y = 3050433128259487878626059638882986843232307377271585710516901209069139899018; + uint256 constant IC65x = 12270558002016314670902881317693940006107195067120636183481536866355524557128; + uint256 constant IC65y = 11317996337845313560238079756508290523093895311312462983939166012168975739788; - uint256 constant IC66x = 16537849522084305379050798390072027678664200652064613568035599455541956265245; - uint256 constant IC66y = 6662048905339906711492763641949270191885435595368572784997081617988378825137; + uint256 constant IC66x = 15211974372459867941252491118510481033677911216380160864317747982331464374496; + uint256 constant IC66y = 311014262165830212231580955623943734772772758555190465830242375148934819714; - uint256 constant IC67x = 6178822760969956352675514899865740283160492055729766023642038991611137093796; - uint256 constant IC67y = 15134676395109059167957229544083854212732194608756055532042109219146005578213; + uint256 constant IC67x = 11457287348667220279559988020383966735691269367773904850043718904812508572322; + uint256 constant IC67y = 6945772133716674708882877048752266677013313713995039652818289048950945779973; - uint256 constant IC68x = 9110260865396366363122826268971881047920724953450147780963448141385604828; - uint256 constant IC68y = 12242673337744675911914032061064487645223433319566451083780762770560625965732; + uint256 constant IC68x = 2199673140256479242885959096910603878584407491371548977838498847927290738836; + uint256 constant IC68y = 16306583324722113145160725995405970205950638508755577576697645806600760307016; - uint256 constant IC69x = 6631924558989196434821622222482564144367811724815895079161517254880811719547; - uint256 constant IC69y = 9846034906619316468424599028265876490291826573857225451304784074937609895380; + uint256 constant IC69x = 3551006000653499581806480534573268433884652569597466697614870801075705937752; + uint256 constant IC69y = 8283595054277666624114901050750372656270471740913945945217909536841069217979; - uint256 constant IC70x = 2325932629982250537434955175422325230158465669867162375580038042617489574870; - uint256 constant IC70y = 5147874583828750003443598102304571026663112923115364272095932612097636286923; + uint256 constant IC70x = 17138891523625603189549544667703247621904410261008458193607437285764430454445; + uint256 constant IC70y = 17022950759803646822602687409203582219906801562094042920814525385312266052792; - uint256 constant IC71x = 20149789673939601918295184825023111621280901637012365100685193426193505987152; - uint256 constant IC71y = 11754671591628066809903387963581104132832400142532711295607090645707718260695; + uint256 constant IC71x = 4389362359163225948111279701379307197183483561453258461656275420857250935964; + uint256 constant IC71y = 18034790992414189753351208421066605221552914996224112074679860406615837533325; - uint256 constant IC72x = 18964264984251050336799823200157838869346898911672597187477382541387416468035; - uint256 constant IC72y = 4083234469521201312249283379110780033129541751761913471439722345097281107410; + uint256 constant IC72x = 6349598559571409914188157594366190334953563669205590887505553505190435387133; + uint256 constant IC72y = 39188315478664883925630083179631585828260575026149582196512064854013938590; - uint256 constant IC73x = 19949847240940917978757815435926998034234863215803788565747379602512769787073; - uint256 constant IC73y = 11206294668471770878404216340274277172266260874989200995267481701420802793360; + uint256 constant IC73x = 16631036591976427553628274489263557257572467955530142387022154053157104613058; + uint256 constant IC73y = 3074989091589258431475491704609957891001161723958823126291268993033784336702; - uint256 constant IC74x = 1011805970818307018195611211972942213948415886755698647509050510691230819769; - uint256 constant IC74y = 9621908650002304930897257804313486737271284104788733442484421825395527604389; + uint256 constant IC74x = 8287610938521071787232540073914978477477086962808519884941006683469836868464; + uint256 constant IC74y = 18849877967044258943728864913805673347634223697813193220728592340677754007378; // 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 51301a7..f6d6929 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 = 3187641095191764205521308540462557905930466895026798971393305540949223016704; - uint256 constant IC0y = 14457920879344764499401602377918522177525788777965863915888942264357717723387; + uint256 constant IC0x = 9972957676423380056673784223256078932980841003678364793218447784424567242654; + uint256 constant IC0y = 4678594914637956127205417146610793590180597808858748260085558471067735646440; - uint256 constant IC1x = 2860866556146802855041735077788880282234677476033746813905724602023886264941; - uint256 constant IC1y = 4164320525770544600488682460253430343434788252422566389277341531250950954627; + uint256 constant IC1x = 20626348243601941732485254721744961433387243156497283029787770192314797748294; + uint256 constant IC1y = 12467906258210777053579897630753699237126979653530927573625852071469027788317; - uint256 constant IC2x = 20005970355915983992920772838716069620999609744929599311550550115259208345370; - uint256 constant IC2y = 7957917174675133778907020325695031184060853529561377406978890973683576102936; + uint256 constant IC2x = 6593823740104839997830232591067413137289698354187960793239587062975502704395; + uint256 constant IC2y = 1208964512353496192995349595321583872589282936867361621893775164770671936259; - uint256 constant IC3x = 18776161050240195481951016329243067313847283989708975421896551365085770213884; - uint256 constant IC3y = 18985253622798527839366252984379131002379499849519232494951522478888203835206; + uint256 constant IC3x = 15777109981814715804270761573599942252458355283802084418219940272432340923836; + uint256 constant IC3y = 15303957250808818342232527495327655106335914190288624283092271308700261721488; - uint256 constant IC4x = 21849792619502891896150254420982912220784684091239790196191714404674868147303; - uint256 constant IC4y = 21261807983971100483491302533681497089719386197098566083866641053771149668172; + uint256 constant IC4x = 3026602697455099612424621952379719198106647440196544027831566838045899563399; + uint256 constant IC4y = 9759217536572173594100597225590351951742718270154166694001415874638976117970; - uint256 constant IC5x = 14642560879226435844354124199845292056119507034598587194498499585805373051012; - uint256 constant IC5y = 14520231279258803164535202266469718946503444469896866759528818781729084363717; + uint256 constant IC5x = 10241011336627199796875439327756556496211917170696485291602880134364359305923; + uint256 constant IC5y = 13109059612730014598407600565060859267317881684646038364444413771986130545591; - uint256 constant IC6x = 5023804329099823805416515688246040248924847786362017570042335448442056529345; - uint256 constant IC6y = 8382238513611094628642975553791204818769515982615564025615549684367892996063; + uint256 constant IC6x = 16798870830146200418406230272237520347083963190528195098891843259562006616117; + uint256 constant IC6y = 11575800640686696555301103442467173601393427106507012900858263213283384921733; - uint256 constant IC7x = 12008960058556068697103589727036613004859214204242747562055033628333728741809; - uint256 constant IC7y = 11549829791086711441031398300643495345757978247085754143975705084855277736225; + uint256 constant IC7x = 16743881743218552087006823147998862001875759476570632481491110928194791922666; + uint256 constant IC7y = 5964475690538263321758939551410109992632115372091858703151526488469035822017; - uint256 constant IC8x = 21676048549214160641708774054966539648403646520266299766972605580528973904190; - uint256 constant IC8y = 6133628765182212162767357239177264158295542457196938124314266841563602963787; + uint256 constant IC8x = 17422127430054015825756478146072520533062834697833835710892851882864086025755; + uint256 constant IC8y = 16011744779054642721761158139928702915700909481965976282895571023521329641998; - uint256 constant IC9x = 1878562863160038059176415460175329640070110165120282126598068271194029045648; - uint256 constant IC9y = 5127422672165768813360802351479040999696350992419430795805273496601552337327; + uint256 constant IC9x = 406864598759850034903206266841809709299006974235717637686404542045071540659; + uint256 constant IC9y = 175889075752243827973632421319337638760422674430499137962029351038387216028; - uint256 constant IC10x = 8359139644190023057316723848376153263021330854901395861801711756249118767455; - uint256 constant IC10y = 20692654987063944827979937541934509237249254311965583721345702438299495090066; + uint256 constant IC10x = 1365433920116397731183184351648662675938607238756469647878201870721139598011; + uint256 constant IC10y = 17681403877442813881698000123300540832497204052529359816196266673940688927778; - uint256 constant IC11x = 12728322096071109471830413239011296574363867849402269565227718856147893151459; - uint256 constant IC11y = 1861155125555298028424371794082953243758577640243508009872303391966604599475; + uint256 constant IC11x = 16996233415488730232143411633900464133690687209078016207520170707861435974305; + uint256 constant IC11y = 1810103810166176179953424353651847612550843269870234153139687345130352909748; - uint256 constant IC12x = 5719881750637140376234263354930178760202458985446575201739124346530164867686; - uint256 constant IC12y = 16368908805854522036614446719511659848951900827540109846279566584785728705509; + uint256 constant IC12x = 19749292968816566792125730503507591342045058913418847191688480047091858623447; + uint256 constant IC12y = 18322988542933428239427152508468519455102875496187013930559502816652347798889; - uint256 constant IC13x = 17743901844690154394019484671927322912468028307268531100344960063878809180846; - uint256 constant IC13y = 10449075965866828550561232884328873569183192287787503984004506139529009907967; + uint256 constant IC13x = 2633645969966525306466945635445646802037300798338089709531896116721322442035; + uint256 constant IC13y = 13297930312473482727503760897528504713980143844780635881599035147004746321398; - uint256 constant IC14x = 11098420666637563511874761448080733212857263922886831437961470397940786216022; - uint256 constant IC14y = 20762798988550118502864524996042519439526113662033415554183073455766621269511; + uint256 constant IC14x = 20813595778911781101662098313613623482759996578847151590953394494989668527815; + uint256 constant IC14y = 11915983855118140691532256393297373202287518135992160722094473917193821575315; - uint256 constant IC15x = 12162442054122685425764477918885333367552567658214510668069614692965769983400; - uint256 constant IC15y = 10116305799707759724200032585859517610375923513561120419627006258472344776813; + uint256 constant IC15x = 21713035948071561257837774341646111760925570212598972828958666528307525686602; + uint256 constant IC15y = 12227083114887612400712338541238794888971057159616123234966122880562265012227; - uint256 constant IC16x = 10500812803151215559678023582489293425614334754977962045729501794780661711092; - uint256 constant IC16y = 17879133699582003080522465138996767736409202114537342906486180174324441112194; + uint256 constant IC16x = 9573373319024029141319499026233137431359769202179732218332885564184218846564; + uint256 constant IC16y = 17857422282967345308190634163052853109132639786585857896270067058279970179103; - uint256 constant IC17x = 15197305417353928416977249309822906058437028124423395814781085440365218815358; - uint256 constant IC17y = 16729470269554137696139917273604830301640308674783569547646381948810954506300; + uint256 constant IC17x = 13408224352143326532373083240936488833622137941685971720863838022558805764399; + uint256 constant IC17y = 15549298112540486092394505339675622172567052048241457640523705317527749933996; - uint256 constant IC18x = 8144472318421423709272161679595106542701923972725047251696434931369275680374; - uint256 constant IC18y = 276182636699442324140702035562595434502675336521018273175786616835727609719; + uint256 constant IC18x = 8627562997870790319764169121326712451307094724598814115390396193516841271820; + uint256 constant IC18y = 2713482906830679157748431196328948664301153729842912709060044518445226872360; - uint256 constant IC19x = 11775146635990433361594820619094635080647576996297625103123889003230084269706; - uint256 constant IC19y = 9825057348355954974998124406871175445717384046411290930067512427350358240376; + uint256 constant IC19x = 21468908901729680885940714898176278471265775602254987051148491907781747085704; + uint256 constant IC19y = 13769396822747935338034315759810065655383326207655477638699721796395572432678; // 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 fa5de84..b5c54ab 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 = 19897988225659105939639408709293840562897022785921238146066575545617348312548; - uint256 constant IC0y = 15644088698146438245644546730726249447460541809094423000622894418334512562175; + uint256 constant IC0x = 15409791955598787751103531970071723139038657604800305665452026264417828456151; + uint256 constant IC0y = 9092746402899964618601098277186453924240830820427171297477612350235594762230; - uint256 constant IC1x = 19147347189359129763962233101180906458439869943878009136949214946695936249511; - uint256 constant IC1y = 16443091035764976902250748734471996367063308703550388048936151831508916790167; + uint256 constant IC1x = 7949724348808454633669361647060175530323440301732291277115673476237108891542; + uint256 constant IC1y = 18134172461804827319437762824423718348343328362280144239082682827834311228862; - uint256 constant IC2x = 4953721133054374020691168168912856344128159216890887779127507640745852989067; - uint256 constant IC2y = 11274237764204185798746850229590615897364057340682130907386954538737981790028; + uint256 constant IC2x = 18412235420222622708390743487048904719675255312308900197838300506333609020567; + uint256 constant IC2y = 3326911880786467630680443287947724677904315474829569907236338568731588390209; - uint256 constant IC3x = 12014343148735150516037826153897244442964751967857451125647538213400289575908; - uint256 constant IC3y = 2256292164141221873783002769914552682959403069391248287193189320231972071517; + uint256 constant IC3x = 3684759051689549260992004811510631865027364466132862273664631251877870397322; + uint256 constant IC3y = 4624504269022852547538527532537284583151548640246363460844851768495942507731; - uint256 constant IC4x = 16474111233563377351871041720154184097630499258863248315326764649157486024007; - uint256 constant IC4y = 3465627137266950374889235022170115771490529465832689707716067214948698410674; + uint256 constant IC4x = 18939213130773768990589821900718447331875388051807136612585286320585577025449; + uint256 constant IC4y = 9607150346436114487478754580032358572614092508303519012359064099377312258255; - uint256 constant IC5x = 21239768529935134066346277853440527215270350044622347770638217479251212158464; - uint256 constant IC5y = 7127821513699748457811543966328448758787726945642497766450864724327997311167; + uint256 constant IC5x = 4304774402263129512850253862373517584669112751896010282131604467222380872267; + uint256 constant IC5y = 3197616323427858399777352139293657890603227558000123704495239864910483658297; - uint256 constant IC6x = 20471972717426227458045921399823861507441545072162372877052112450284926318790; - uint256 constant IC6y = 15690641790115007853742129143398636761393238908077402496312595876959907032754; + uint256 constant IC6x = 14968034082411198037944438376279005757480632832566654441983100737431053173139; + uint256 constant IC6y = 3943395786320480978370375368175087409224119161587765381583492808047972463973; - uint256 constant IC7x = 12249524535261188578794643602619855658098993422806566432127371018556423636474; - uint256 constant IC7y = 9598527391418900222199326929183254437955434178811007044051681289104233693130; + uint256 constant IC7x = 11811687116823296786042593031915338220372162561933438868904387374997368136764; + uint256 constant IC7y = 16239760650134049100941091682537454263160653140559325617975183512534144672822; - uint256 constant IC8x = 15510118051699880475157329616372101916039157017977355842946660472019827696389; - uint256 constant IC8y = 6045131352513101292902956652174831155777162555286522283250353347448002272275; + uint256 constant IC8x = 13976804983275936440076141436419565601451187761023120366572294561283213408400; + uint256 constant IC8y = 15947030171848408329288205317938767625178352961026558256004543816684158607115; - uint256 constant IC9x = 8237962499167191717299109920187094525728582720089853220028379002409156902616; - uint256 constant IC9y = 3872291793198670228738802910150553797306138588608369982742211481904207335377; + uint256 constant IC9x = 20091369345386756861583326092880477235913200512207815728161185428758632919068; + uint256 constant IC9y = 4547352145684000460660484940785150198225443112294592064264306957219865903496; - uint256 constant IC10x = 11021190808920206708521175885367808506403710026349261813343566459531685391016; - uint256 constant IC10y = 1091042997961435981758159431116424631308189158647147706316040872328615669781; + uint256 constant IC10x = 15110595095060568315380423877310152003500215426903188901637201624902388355156; + uint256 constant IC10y = 13819922440260106697305874380139646513964964406997753828774348088166480904802; - uint256 constant IC11x = 20266534472504758304827002029642639845414165264657296437397072278053653166518; - uint256 constant IC11y = 11265986845770000498619078678284319535435431545663693535794289369507168603450; + uint256 constant IC11x = 5945587906512448894630134998155585893626546403257902155146913990708953643745; + uint256 constant IC11y = 15243938468151966927213881029467374776231868513060511965302481403027513458541; - uint256 constant IC12x = 7829346354910933388493469819519610668134763494342423656712830862266420333795; - uint256 constant IC12y = 3686355576932585256071775977861837116925961022990963328330233893737808072351; + uint256 constant IC12x = 3872520330349265371964182773844470029034123763737284856176778645247681456330; + uint256 constant IC12y = 821257119994220456649764245639250914434868540664111354251447828040110852279; - uint256 constant IC13x = 21208081894525298601787151495018808718752027297242956532575493388691397517933; - uint256 constant IC13y = 16099466525244958964216384923037994585998474402985453699741494498122742858053; + uint256 constant IC13x = 13122105751537953478060472734571728593109791141037909305554131918806914692475; + uint256 constant IC13y = 15292979279124357935194649187820863745461853509288265240617180128044240090657; - uint256 constant IC14x = 8155455923920254572310584655650607640944517100266368967254851328873094792706; - uint256 constant IC14y = 16913747786754588566372805507346420539490777863198363908045087223827314334982; + uint256 constant IC14x = 10167782413207288301190534231562988840375951058165789141499879863754187892721; + uint256 constant IC14y = 20283322390639552300506332669199531127947200999364059630244031764378400613094; - uint256 constant IC15x = 2048484096179779713761128855383973330941996365333726515116421061293627244827; - uint256 constant IC15y = 18127350277121123854599162995327296676523226803582849476525059141391839319180; + uint256 constant IC15x = 8984567035618531287905247576065162631631871592319024551173399497889539608341; + uint256 constant IC15y = 18269620713607175964666081043873522090762213560303588395499483649329589173645; - uint256 constant IC16x = 12413888029629544447074201425628640978515839548759729638611127445926900755664; - uint256 constant IC16y = 15941827976704593133129237037487776507467735657550185698053146651641464831654; + uint256 constant IC16x = 9713414910748027054379523685487364912968107627325344557010999990578831777939; + uint256 constant IC16y = 4692870054022375589242467164635041018867663351989965151047191078828870988721; - uint256 constant IC17x = 16735941652697217872028257305895498271806983436521043335037295369269827038273; - uint256 constant IC17y = 15218161999330747552273516029374892143801427925467335709703802880679770576390; + uint256 constant IC17x = 13865899469845010484763304050002561532820628163266196179086845918095257879354; + uint256 constant IC17y = 17571900975199411289940070705712991259136393257801761844789481862572089446647; - uint256 constant IC18x = 17264079083384941891049531609844894949554212952663751277900409141172441081955; - uint256 constant IC18y = 17602122828133046682157103204510222410265905744605305151852279762333976332786; + uint256 constant IC18x = 2390580389407902207014048814252619616309527796915074314528398709506895279818; + uint256 constant IC18y = 4969424591145852638529856130953369172440336016490171996430983061963297045302; - uint256 constant IC19x = 8020783635884299785017413065536444513306274686322784698230436944510923802427; - uint256 constant IC19y = 10778881148042898782718784574682898294924170688076480123274527754390704926858; + uint256 constant IC19x = 17452028189893246532174515432652809239418123697608403429055298687480509168563; + uint256 constant IC19y = 86359438193245786461999099825440629336828531445604585406769258431312418859; - uint256 constant IC20x = 19001011513924778900341458674569684250154217732301036185350531297988366259110; - uint256 constant IC20y = 9417382914885223328442786658559621422715681857099431887918590630945450992386; + uint256 constant IC20x = 3946933204890629618761841772149162387771330690986734346980045624238048420365; + uint256 constant IC20y = 8910516678189974356495892484074176168234708637654847928438176279314172106628; - uint256 constant IC21x = 6737376250348345240897516838886785785398634166153032340232008808252573602088; - uint256 constant IC21y = 11494137845405047046843931866657459358217976022357861720539789336859723078084; + uint256 constant IC21x = 12618495222023794485338669576314609771018866125678978609149003580074546090473; + uint256 constant IC21y = 20713404673767852598710946227524613530652582032002420042594964125130501118070; - uint256 constant IC22x = 10418844037018507387903974696172156935242789010920930291305974939743035608094; - uint256 constant IC22y = 9845375038080405764939095853534189920226779400958692792333867633389719570572; + uint256 constant IC22x = 9092985967864943030084574013420756216969037396873454583653257958607237235061; + uint256 constant IC22y = 12947543457347575920852385022907826246757887156161671231203316689150929206993; - uint256 constant IC23x = 4524775720259369737405012321787052186306238891992093167562861963484344478427; - uint256 constant IC23y = 9062667940492452432577575085809718481829458861282751358857396244888253008543; + uint256 constant IC23x = 20107411386531822659805863064701617738374424337778794343309984186081206222303; + uint256 constant IC23y = 16249927142794589636159530030849830959169064082918858812870191460154627178934; - uint256 constant IC24x = 6330629647499414850067070607038861664843239718602832398209869754798741155104; - uint256 constant IC24y = 4228509106904581581274500803106488281935316257092981114054140174563190449500; + uint256 constant IC24x = 17237469442220615704547176059588037252246557986928975333149666853967593806703; + uint256 constant IC24y = 11862548748855641235854355859509416830809770455359463411943767704841426635578; - uint256 constant IC25x = 1221451322915780656298044974415511567700230837260033136719446068524174831580; - uint256 constant IC25y = 18860671826203696986352708992907256428505803631110483180242385659399495942704; + uint256 constant IC25x = 15328398666112504426405755746677020754012395476456067456627069143608266206248; + uint256 constant IC25y = 4973042306019503096914324808310612445122399990158197046949308675346206327903; - uint256 constant IC26x = 14363175465381210503076426626102164077729617303895377369907483648161303894716; - uint256 constant IC26y = 1039765371798554589534200523668536895007965927976091186090146272629550698693; + uint256 constant IC26x = 11669087226090855047491916941871948383460756475183909348701213953069422287919; + uint256 constant IC26y = 10072778794448759237030894519386617799871409706564761609005700689132351126873; - uint256 constant IC27x = 10844866802204039461129597196036007555116887079776349691601311291532507935841; - uint256 constant IC27y = 15080882338740425184306169377610855196155755750902218937806065382577568430566; + uint256 constant IC27x = 14603408206506285251954682688982168849698465419310115906252936302176631179204; + uint256 constant IC27y = 9663651953146076173729764004629539382726994489097774005094162595670461080833; - uint256 constant IC28x = 7282748483105142942952914809234113307290499708397911896381074483068120123945; - uint256 constant IC28y = 9708793634285407627079828789679550447452184518918624435255107054670757126024; + uint256 constant IC28x = 7396822726131708880917912185088971181475941912700640604595755550181705404342; + uint256 constant IC28y = 19906765510989247741313331419663190490827813255353192539428442840624422384708; - uint256 constant IC29x = 5138747558556186688156598867345806497092946881293320489890503986815102199096; - uint256 constant IC29y = 18586259913426258188835364490284030396021729525721719406501410102262565348459; + uint256 constant IC29x = 14163474333398002949552666961914368741859942634784235872206313162601575155887; + uint256 constant IC29y = 13278320126962277105778639538474383463435654271565434594454785445205872073869; - uint256 constant IC30x = 13912363492986715690172761005477226514653135170137575720619506454153853346359; - uint256 constant IC30y = 6893782072051478665218510432315015654626283852568425834965115505110253115273; + uint256 constant IC30x = 15927627966198514422070925724321570526682874834413496821335719811211151512732; + uint256 constant IC30y = 11201407363566039528014608237609820389631499809339551547185394221538216400195; - uint256 constant IC31x = 19518992070206705110735545840976158925825227451671153494070370708056809755261; - uint256 constant IC31y = 13458217343753689429814916577886510621498889168246485682346852264809078723259; + uint256 constant IC31x = 16200096381203341358770097964686539707717113982020496104150094849884172569177; + uint256 constant IC31y = 21830618921096823302723207866940226561621821892280063231252246715709159919013; - uint256 constant IC32x = 1097235715910227033327833429533074269192586012028475731477475399244736688088; - uint256 constant IC32y = 6890774447349851824422506064846539799917454135804297142885207816025033161946; + uint256 constant IC32x = 7470149472298252128273087536580334390721221485260351840130710079039352570262; + uint256 constant IC32y = 20098326608581823320564458509312651924722414093154962128208413092515572431675; - uint256 constant IC33x = 8545915603207328763153687368654098572100376577619186155105002847474459274902; - uint256 constant IC33y = 2643960856702059282412430765156638700883595267613637635371675378334184541765; + uint256 constant IC33x = 4657281324300735522985711692887039515599196293024420980624063363257088426958; + uint256 constant IC33y = 20698165004683514087168618103711421189395745075560565692726601427834302463987; - uint256 constant IC34x = 13627824545339932282915723530402785197444023331093555307162151773294070744334; - uint256 constant IC34y = 16397729842871261850876321810765009366490138863416313051851538739447146040558; + uint256 constant IC34x = 17384864280626352073519718847230379674369351290973301793123478956211736772669; + uint256 constant IC34y = 14161685348292376953526033600445592105378491809865665700581679032619653685607; - uint256 constant IC35x = 20188227469347626703344636858723277892814222529623724593145308524258817102866; - uint256 constant IC35y = 18672311838692498224986336996945086288515951917827273191227730907199318066039; + uint256 constant IC35x = 19648625233247529288604453723553767623733448237182380117534106417787880949553; + uint256 constant IC35y = 10732198997559158875830105155626220929144961472506439906360908802485430517221; - uint256 constant IC36x = 15256264953155444178864372052190388745740189403694348626225720289920875393136; - uint256 constant IC36y = 18360682089753574262770990632934119740864080565996652241985872899808342139044; + uint256 constant IC36x = 14569594836747648808206702470667318999060844339412440817715590360100710167874; + uint256 constant IC36y = 2785158627138663820768109803275492173400792888005334555258646429679093764982; - uint256 constant IC37x = 18717442962331535590202272318263441978929468031878724494781454269431836231883; - uint256 constant IC37y = 17590574677083835340991998839326355797384991388873061634267346161853561631569; + uint256 constant IC37x = 12369654625067238879916162479941781487272216649676312734708459452830833084828; + uint256 constant IC37y = 2335402075756457462122262450966527634339550628995757706980685258964103608954; - uint256 constant IC38x = 11076360783889920282429185815607604170568101123121939825235000044462490227641; - uint256 constant IC38y = 7427574263995658656753018038567735283390342934474190351900793103215611438674; + uint256 constant IC38x = 9869298631491195377875559519817256615493164909248461367549774431486593977122; + uint256 constant IC38y = 19691463834712263324794724081276569367750111792006820801853840794626761681885; - uint256 constant IC39x = 1462264002981677971180254485360242717039923726030357662056431471319157988900; - uint256 constant IC39y = 18451577591932356051072162835084126573452649494712946599906969905532550849883; + uint256 constant IC39x = 10699337988344456320696022068286842551344985572683809064365683501936978925001; + uint256 constant IC39y = 5244923263064265795925322643256542125093480558224658910724842108581447644388; - uint256 constant IC40x = 5103996117361874266153897429070227880163051857527936709738256107021123964059; - uint256 constant IC40y = 10298514862841858940068158221342901186487319548982710489211925713002720191140; + uint256 constant IC40x = 14157283479597097703499343703076655840788787450945801894031186600329232424564; + uint256 constant IC40y = 9136157388455348072769534517178868149599822418336392627069545918450800685993; - uint256 constant IC41x = 8948999702210973406372134881948635946510474332688678660220353143234539745734; - uint256 constant IC41y = 6223048303950568899098759623457578405129707611359398015997066745469192121230; + uint256 constant IC41x = 11954987635462597782331250935089282843188332910441834826349217320618588817567; + uint256 constant IC41y = 13078511571641253398042198733440790728718539174183747094726515940254605429662; - uint256 constant IC42x = 4352019585330006073756433207490276457934814091393650065720438491948372704736; - uint256 constant IC42y = 5513757498515638407564816542300645533152354753795296370722374649796922252543; + uint256 constant IC42x = 13291094562716081445366074160384218583707243478564187772879137970415619789726; + uint256 constant IC42y = 4333894547978745599412449049000090446060773373168504945159979099761126222817; - uint256 constant IC43x = 5927628426611209356918335152730784104079050011117402094227629910901744605159; - uint256 constant IC43y = 9877838872307105150242736616617522872683504421897410091835785586340892260268; + uint256 constant IC43x = 986189980794696666978691262328051729848631093468195023004451756259109980695; + uint256 constant IC43y = 19137828594644624838178416710637283268932719030172173994449285464369025262040; - uint256 constant IC44x = 3272095207365383123292357038475956866604679793253253156399980506608481318158; - uint256 constant IC44y = 21119390009834480671279683098444252421793983335924638316052302445053202617588; + uint256 constant IC44x = 12479214535049252206345099315637070711297101874505009440945943938888442635195; + uint256 constant IC44y = 4151125701241456281849247098337429354788072144727546189249770438354773750126; - uint256 constant IC45x = 15524623528151826914308944209298957568469790654802464429900017368067089319780; - uint256 constant IC45y = 20355958234522381722457811342514656902212369583565801255991875779389127941658; + uint256 constant IC45x = 947498121220943509687113538789080464820267995482387705311733146657160735113; + uint256 constant IC45y = 3512661131761322564206050954078983364710846888810577184790815709277603813083; - uint256 constant IC46x = 16224839611196658969453565246937619963233244566057079437050956308679924240843; - uint256 constant IC46y = 20336799151677945642604298760932420571889835262144137656536490327089217497821; + uint256 constant IC46x = 5429820634507503493088406800342333994457259943675439727929733206191588921862; + uint256 constant IC46y = 3819194897596833154978213150033139255940382937907231191563543313211876861965; - uint256 constant IC47x = 8339471978208863402294510410942283067819048214469170681751225578049840432131; - uint256 constant IC47y = 8298459084372792228889476340239847681193386953909531421349942406258528700781; + uint256 constant IC47x = 16147796102701069265956253724423183537210918608175999723031648726712223255669; + uint256 constant IC47y = 4233525102295999937588548827759041455816041662451866385337511384403765725883; - uint256 constant IC48x = 11875480550859637947808894207205592032838827941125960824047492699758525818699; - uint256 constant IC48y = 11075839599880437870246858014584314250085665813141320824371578957564816480476; + uint256 constant IC48x = 1972434964759191060420272054346635718432406099540931144568015514296836596349; + uint256 constant IC48y = 4239348986409898489520160620635276475436192230474182835244095969650911061787; - uint256 constant IC49x = 5254307817213998754412376371283037873529591710480089652646118799901396881105; - uint256 constant IC49y = 11054853095893833102717362446813843698715121342753068286071409993301790530195; + uint256 constant IC49x = 16670174453776185093919151472277172509144695185394414409634660533095639202608; + uint256 constant IC49y = 9910941691566079838347163692958962776625159902756812355493455695354469743260; - uint256 constant IC50x = 7395382170554153483710791490305137139384608057295719108356686158575730277462; - uint256 constant IC50y = 17337809641742678764682073922152759261604875977777940587364487755359595726961; + uint256 constant IC50x = 21689503761383362656508468344600215021312910621597797121712447473969706030630; + uint256 constant IC50y = 18931359522444001957716791013602238947909771600416871852685531416539360492854; - uint256 constant IC51x = 21083048980552562131530946400344274016610869292674992152206187152085623241522; - uint256 constant IC51y = 7456676987555041530892145143352405950082418081830676589879769492118412225006; + uint256 constant IC51x = 1053045581028280468772052630524840541103324168340705880066593288761567941190; + uint256 constant IC51y = 4805031957228415535175850688430699295791758349486752035599631623760776555657; - uint256 constant IC52x = 19914185818525433169385902831412598876038182172995611925444932046375946530606; - uint256 constant IC52y = 11598831798965680494756101269383487805192310849754637193158176933347213915526; + uint256 constant IC52x = 3409729820682150062571883903579065843125357364488386599798768489033780715862; + uint256 constant IC52y = 7528155192774758000311673259632601533795080051149331254328030188255506567942; - uint256 constant IC53x = 17504272635653669426858847063712002458606460138895613672521319014395137885467; - uint256 constant IC53y = 15689184425355674119503689260359241813185163185081594484449338800443378498413; + uint256 constant IC53x = 20565773733953661710029777125928615190879182678245724439644516050009589500357; + uint256 constant IC53y = 16606337771290685084159805923078730402603403480864069696855253896346667164230; - uint256 constant IC54x = 15465219659542665620426495405536681998103741648185129201159031227478103592117; - uint256 constant IC54y = 2802734936500785321693792921524080065764436372610850966553544941213928598941; + uint256 constant IC54x = 20196396000632374222912477070577184161045013357636416596951452501055387840596; + uint256 constant IC54y = 119130615745090258828253056925660666538765605136045033855745758502270384818; - uint256 constant IC55x = 17733539939663415112065248339369528917069654619093990576348486293711347443020; - uint256 constant IC55y = 14430836790052811686618405722845642451253928989904196526784598325502566484469; + uint256 constant IC55x = 1554035333454570805454714457986814535924120870764934624459611007817531364963; + uint256 constant IC55y = 19456005872250053223374668164439847844382201427353212680408488920733006534045; - uint256 constant IC56x = 4928543994611704038147352277179385380733570098567446392419815266578085485578; - uint256 constant IC56y = 17051054565088810468716279795583749256581527659492822901040183166052166186347; + uint256 constant IC56x = 16197160710885016337071943702127860260495530797550037958184801247867183538274; + uint256 constant IC56y = 3617909162748976592193040040772570917617131704021515333135976780936531852121; - uint256 constant IC57x = 13742960627575011476904634820837997444091392837326487675541171657548898428959; - uint256 constant IC57y = 4639072684957897893629228345629263973380441920319481580744027202705839378289; + uint256 constant IC57x = 21171872089706061238775074496252912083959910399329167060392946506322625544564; + uint256 constant IC57y = 15429469750853406189601635469881939298010968263097525388556812664971267343537; - uint256 constant IC58x = 20975254323835866453739128848385099669732388979835569116482688808568875195796; - uint256 constant IC58y = 16966088481952089212696771118988567510277745140136149057737936756559858996062; + uint256 constant IC58x = 9378009548765211514364181606941357532358035127264086470709904426766410045080; + uint256 constant IC58y = 10346651370981083204612107140589231614149737535985302319823933023217097989759; - uint256 constant IC59x = 21229565258629207413814184606278167035626886108012638802522058026659873245989; - uint256 constant IC59y = 7189313184050165778564553327905395679010104496209129265001051754804493708159; + uint256 constant IC59x = 18996155430872067620946417728532425850513726810505534253787386986496269068307; + uint256 constant IC59y = 1408755142594437048586710739784302474437388964337188259483940686170655603527; - uint256 constant IC60x = 10142203682863987027788022977389754498367329786100798604784103655633165315422; - uint256 constant IC60y = 16337804816444273832066796146653272491463896547513296930654559517740725531646; + uint256 constant IC60x = 13385732611485159295327486851012428932670667990521799954182864750292620115242; + uint256 constant IC60y = 1511001714907675470323666335145552334204226391732329014557589274687556503565; - uint256 constant IC61x = 8324485743441439934885854058624501904339089987075050009038035849079648510666; - uint256 constant IC61y = 1934312867741305372813606742316942858809850762872752489442105906287872615193; + uint256 constant IC61x = 21701689113216314563246019428304978634145146333733873239995945367677257602803; + uint256 constant IC61y = 44927088580570472822947081302858614394027254481505983593547679667048677233; - uint256 constant IC62x = 8755272281132200881206081379155898769453478996201798721015264710014237556074; - uint256 constant IC62y = 7214546438548448102397333066720146141106097367523450945533711844508856251613; + uint256 constant IC62x = 11475196756653606109330874591270742906174057636597310055108599390793179466849; + uint256 constant IC62y = 2909832247772404653045772908856874858387637958200438038358038041972945401456; - uint256 constant IC63x = 14151475773760190653696652057083705672606177381042751000273096796627254891704; - uint256 constant IC63y = 12800420004463021246404540157960866332438498566711132636992732955279206340139; + uint256 constant IC63x = 10512940413078709226778492400473407305117671666272697766334756945749206494246; + uint256 constant IC63y = 13571836766524294823562410147524401553135629628971567220427489730413505472995; - uint256 constant IC64x = 13695690449116736099166029360461213999742840847215613726326344740675192046747; - uint256 constant IC64y = 2603139465866620659347442006519027944297611908969018068686986645685466397302; + uint256 constant IC64x = 21812205546285284114323506243231064234281789295215703128258814046995921553324; + uint256 constant IC64y = 12528762275546304661989112042817641342233832724627683716110664214409153810810; - uint256 constant IC65x = 1177637445668075826821915128727635425470608517042545111313078486114789416401; - uint256 constant IC65y = 9852733692252826772847989918737146031585846991790555047871140343994085292750; + uint256 constant IC65x = 21605387708261693993604529610601858636075846833246780020614367701965894251931; + uint256 constant IC65y = 10859490170382255901965796969712709233327722817981617040947005043088746604100; - uint256 constant IC66x = 11867992990579525933482499635947781741744735660517966949566848663622475787622; - uint256 constant IC66y = 2618035820332247973637563479434568869003814421527376408004985511407775959172; + uint256 constant IC66x = 2586114672700021905596240165706407928720663014985124379010260832689549342190; + uint256 constant IC66y = 20564285136126254906143644270813621328622572679260303315021113146236875164644; - uint256 constant IC67x = 7210966159925993015452861400592769434522839324976716414804569216802320545229; - uint256 constant IC67y = 16843922512754149933191011829072752242547047876211570899862901647591520334091; + uint256 constant IC67x = 557816223758475667503128858919641573123012584186819289001824761794031299761; + uint256 constant IC67y = 16400820552135955374838528693350227903307748491431380200598164413878657016496; - uint256 constant IC68x = 16699697603759144825698262269845341328440017375857568954454051158571197106152; - uint256 constant IC68y = 12064743873149952980455162878616600088123898688566016537225992371096617158713; + uint256 constant IC68x = 9962003302079829866365704565970577480947818029867073873182705870794924486732; + uint256 constant IC68y = 716959000882388914933224762538655976188165551854183476375289643391246291447; - uint256 constant IC69x = 5111463607690538467917768219750831882850422836940489209353077581903070827858; - uint256 constant IC69y = 11169438770025069794225783878649624146742146836483670378641246869693228652834; + uint256 constant IC69x = 738121844871965010340909379074836080571797595618811934782612542148159014603; + uint256 constant IC69y = 6343426468949982224418464814630462387404174193078749473309178803559301781097; - uint256 constant IC70x = 14806268424773595685690193026701319784989733270013454892827036142313076072621; - uint256 constant IC70y = 16288760063300179289346232429477717521626849188696502988196642640063738639071; + uint256 constant IC70x = 13167993707479779370165127426150242751710752055404662483188355303007105781663; + uint256 constant IC70y = 15998477246531512448316744240263600463820021043655199717965676772522600163726; - uint256 constant IC71x = 1430353237650057060504828399719802014440428557490166602692903873236707851600; - uint256 constant IC71y = 20191862058900648669486143866907803336456965089367613743221213864688314781930; + uint256 constant IC71x = 6051615335417766776481713647012549204383170149663665671339014559712920059029; + uint256 constant IC71y = 18777589010538084395088017111689584008610970406370754651052702787753532440510; - uint256 constant IC72x = 2366896769323523901241446332481655507747547029378146308054867419821972959585; - uint256 constant IC72y = 4758677958858409109884573530674283165976111011330480827892482962568567636825; + uint256 constant IC72x = 13518484334887151051524193663558080295036405626525739476619937083329238056227; + uint256 constant IC72y = 671272787473478304462767914757283206754162090601498675181547048922838398804; - uint256 constant IC73x = 932522054294169898289727664089770628793397540510265387790277817991002346477; - uint256 constant IC73y = 17727672143512464871673552059320176918960281639457417311783773552358661794730; + uint256 constant IC73x = 11332025574825825389045297724672678673730034743303092093812878326602363199391; + uint256 constant IC73y = 6971500342255842346183467065934307001962360965641526536511819154882339090486; - uint256 constant IC74x = 7165819180679872653731391678714162932431740658100242434605276187598030445685; - uint256 constant IC74y = 1964871898459773332945756204888101791749504479659651461411621369045541738272; + uint256 constant IC74x = 19280068923219572359617296703509567677927783956506504727438833975290284867839; + uint256 constant IC74y = 21308462790257506549638032299804907327009994232141774767975085271035248727468; - uint256 constant IC75x = 14018470570501794001125692119306265467735897080300787653423950509508986239091; - uint256 constant IC75y = 5184136469273701727518309213768780794514014759843289868867671810595880412822; + uint256 constant IC75x = 17784936271398316732546359084011581973981698020278533365131649775053958857941; + uint256 constant IC75y = 17450624016077512334010490921302499424593775655292728145919056170764369001630; // 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 23dc75a..9dee19e 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 = 2001385234062673987692550429821815722863659431302298545583634907691892482680; - uint256 constant IC0y = 14781110368514218587561375268471641777412620093484588360122287750189358006163; + uint256 constant IC0x = 2336577094938087927295577057883559133518548539857476285365258729761282359766; + uint256 constant IC0y = 13457134454080778366437034657939216462839606636557680623966235664985014137305; - uint256 constant IC1x = 7556096446151950874840339036103156789650197148291803984785545466651498561337; - uint256 constant IC1y = 6650962405978808836297634992928011561427876716598531736909858761293243721563; + uint256 constant IC1x = 20368186655202454639947367876268302520099557539199785153247271256535591612109; + uint256 constant IC1y = 1834073636613445034902354120684380339901954947478996148178176791706878906407; - uint256 constant IC2x = 20038512891887596670632812249594702812590007142730486797720701790391611848271; - uint256 constant IC2y = 20256333879439556091659528342474712479670113373689574853972461613489102930678; + uint256 constant IC2x = 18940883460337419797153516323361463548277628324385966615136813524210829544349; + uint256 constant IC2y = 13755507182276982182867654664182787667177703610016036825527715152774073764027; - uint256 constant IC3x = 11443025028450071979050887288247099503200358162242990201001807478924029957245; - uint256 constant IC3y = 13327499081089653748509498371491725809431707733316023854978980316109824479432; + uint256 constant IC3x = 13231089068759352133229900008219856881837973267628151698550636358586290388578; + uint256 constant IC3y = 17549483333773564289060048934471648703429804448797817402738216853563050513824; - uint256 constant IC4x = 7624555235387495367935127170697828159269695097559331594010293813960319884875; - uint256 constant IC4y = 11137415159601647519869398005771976201119348510679516196579735433485526675104; + uint256 constant IC4x = 3718291145538772402489965274220064004486859595590887213015547941149991481626; + uint256 constant IC4y = 12828270140752225962126183368645874984769198377096274381853118332823329406227; - uint256 constant IC5x = 11087871541207315606725362171392044593868106261660454382374333971677088481491; - uint256 constant IC5y = 19340732691909630389342213036129595674096169741788037180538629969520804730266; + uint256 constant IC5x = 18736813172179817146165649443954222779907463495017183378774917519374574311865; + uint256 constant IC5y = 4791019722595773462176337006847693763621610396606840461521291694242205617062; - uint256 constant IC6x = 13583100217505575966160350019452009194048692549120513539268963698775438650630; - uint256 constant IC6y = 1641448164312944528199778933389766215797047305335726307565132483593471411259; + uint256 constant IC6x = 5931014294704985447511179792551174374364071929810069992592261539332350709757; + uint256 constant IC6y = 9541115709882884474730500786593649081648338517201659311784346599311173591142; - uint256 constant IC7x = 5585922134673658233801959463798429458921409250802635584596282098657485406976; - uint256 constant IC7y = 17863740184730961269858749548594348255637841211596681301637226124021328969527; + uint256 constant IC7x = 8376183611291948297555810674693859640776130390969194053869891204773398551980; + uint256 constant IC7y = 10950568538667057429335291351211703943314971463987839309953105625127038042875; - uint256 constant IC8x = 21099117100082313827099466608703735183105199543855999801428992850216941565751; - uint256 constant IC8y = 15576013126025048602321604727127815002671640946151978810664235227249216762668; + uint256 constant IC8x = 3593767593495074340761337008111485433168629647463872101352651561175062635430; + uint256 constant IC8y = 19695880590579932433001923173116544145333001191051861405962278750909369540629; - uint256 constant IC9x = 18537449506596155106234105147437034972479117580979497781576650676303501386606; - uint256 constant IC9y = 350100634610876129956205819597008741801048830980632745488137405716028556360; + uint256 constant IC9x = 10534363381864867775914234406106233869894770875272746886524518155058125329261; + uint256 constant IC9y = 741598727372318357175251689719337813830893380957790334465341391138232733741; - uint256 constant IC10x = 6230623393922273599156930456061095773845299179410369329393737749736010110232; - uint256 constant IC10y = 7212836541072467658356691744886683497110671517013247336842773780534221299897; + uint256 constant IC10x = 6177988268268517991964317589827123117211176904991433078124281232752375741822; + uint256 constant IC10y = 7159974907571145118809362091595035331625961360510125631245729355534584769291; - uint256 constant IC11x = 11500834666249894206517075029818888357187680835157036595150320912042566569794; - uint256 constant IC11y = 10625222236524492807356740110079370208109188102418579704419887770202367954617; + uint256 constant IC11x = 14505436396580684670385719397908417679942029634979461506252828828303566999980; + uint256 constant IC11y = 3916969919758833669916376587113539249393565525631663813333053212784130861244; - uint256 constant IC12x = 18076381111049825224143411559610114673113690783792848328851083183120075264231; - uint256 constant IC12y = 17241151807696198062216881364680561730664367177940656173116091242366074985416; + uint256 constant IC12x = 4723397578636500289435415214306321312482142053702168849338918862962056979195; + uint256 constant IC12y = 11482358689443672585265938891080500619875646195579261693717520875573178045485; - uint256 constant IC13x = 18451364510169040263505387567915153954911354482207025092421380365896418091293; - uint256 constant IC13y = 1263492930065030278481614479165428450888795551755252441204101302538824235427; + uint256 constant IC13x = 797665560744131893500441063934663326654267162380346194403443121670060256321; + uint256 constant IC13y = 17879311589999179631215839542818339376607434377536775903656521943396318764700; - uint256 constant IC14x = 21557271937691250944604817969075776869572327921381748598093805058055364675382; - uint256 constant IC14y = 2836455568081527627449278837231945506251083433638642473587653523569100114637; + uint256 constant IC14x = 9486919632207017877087162467329150394235665261347272151990078948272982823861; + uint256 constant IC14y = 17565835574889820311399751946333533815297619410872863262386968526457760651875; - uint256 constant IC15x = 1830909393324537755555709765026971523236789684214153554380484581693135723935; - uint256 constant IC15y = 21068113563481994679245374860355836161021339697312248094433479370934515451200; + uint256 constant IC15x = 19112115616058262149583452170346493629958206751900606537425015309087289741045; + uint256 constant IC15y = 16483942446382813319489486495881691719176880076097868918629055998333671031502; - uint256 constant IC16x = 11323220431842225102481559113791044767139113164625700896793186678487798847741; - uint256 constant IC16y = 5097446564327053568314477297310301901562468521373501658833148993862660836660; + uint256 constant IC16x = 1769381440561277901068256687251912810646310036136671097732405838918184584563; + uint256 constant IC16y = 15401338254094946368624334939233815548688776752970441728987022936753109856083; - uint256 constant IC17x = 12493914728195496222179273208316003621624853295718398849363619148486542758948; - uint256 constant IC17y = 13929000355918240912783087207522794697670133160373892491732663590746265725429; + uint256 constant IC17x = 14932202088341980784202341310673936355907049514434300131865964269077401294876; + uint256 constant IC17y = 9451546920315588440642292629322244245247620242160482006193062280575342323439; - uint256 constant IC18x = 12196477888450095144631113248433088165567496228974853259061336126355061433132; - uint256 constant IC18y = 2593734875576368754530901115322716277329929337821110679278653598281534577027; + uint256 constant IC18x = 672229520667987543545090784453262391066694382776752692580156039640603300520; + uint256 constant IC18y = 6884567015094573071558115833438034604426326597307147745252369288655067488484; - uint256 constant IC19x = 19157133362169706067425507599439517487346982421360162947533618038435688460883; - uint256 constant IC19y = 2197367399999210168073557297719654236896968421428125867638562390043049905927; + uint256 constant IC19x = 14813104777753242287396585281234133510709992231096068253096490872613821970868; + uint256 constant IC19y = 6891698250887963668171109644512145999986658257741300191326847994337471663928; - uint256 constant IC20x = 17676616893182722038184797005091187792591287172525628880466940529019202338232; - uint256 constant IC20y = 6421633775748634968225616302389477201287861997904078481265131439393505179076; + uint256 constant IC20x = 8061507267147245403549782812736097596810599804697548464917251405795007063625; + uint256 constant IC20y = 10657309899179492700325493323458983497622982221097459826570658967762174263111; - uint256 constant IC21x = 20385997122851512380113704253865887187323114383215015031461647656151596858613; - uint256 constant IC21y = 7260981333215033747977825638549821485672849697997346397182358438850672343241; + uint256 constant IC21x = 4919553783113537587872873086014275294547872039347561984338180498370579505589; + uint256 constant IC21y = 1762031831473245497337383734476838109418118388990267321671511418446337193221; - uint256 constant IC22x = 13999922842165919432862939195355754862945480183509940013200483835153838109551; - uint256 constant IC22y = 400163328287374113717183118590344728496928291194359253961837679770283021908; + uint256 constant IC22x = 14978532274637579989153722669443236586385229249177147351994130534202911960382; + uint256 constant IC22y = 16644463882318425712283144214923411643577017510128454848234571609730604782706; - uint256 constant IC23x = 19458055711860628943708443169030611608754382401303100174185166022968492361607; - uint256 constant IC23y = 2848381386694903189363259153112379900106707228073594084492169187784172949632; + uint256 constant IC23x = 13722326495159059027549890656342336953615701458611722945421926849086100564600; + uint256 constant IC23y = 15586818551632966539965721394270213475738395482852094238364253324996258479309; - uint256 constant IC24x = 17531046966640079573316289123751632058366589650567343583061752365060469197314; - uint256 constant IC24y = 16462363270846382286366303329373338154741806960837952304208472648401068312723; + uint256 constant IC24x = 18511253034248757976405227689273154359014566349569277333926999998093561903337; + uint256 constant IC24y = 11905174900999919411683103806681241466495923710197271560146135244753602850444; - uint256 constant IC25x = 16798288305215215084918804845752642717144659018137592097061628636415784683373; - uint256 constant IC25y = 11467990998187098132358760989945104347271362685533654409959629758948243439095; + uint256 constant IC25x = 777185121846802663554537575137789566793050107611685335313889822393378098302; + uint256 constant IC25y = 10446743667518846534977648316170489545866393851732170149256206254163238972712; - uint256 constant IC26x = 7131341148725923062606977990723516820447565213228296843410134097107044444246; - uint256 constant IC26y = 14786619507058088049423601195439941140727663081696792947069507487258897239548; + uint256 constant IC26x = 1769873661160417951727193766761287453746397976400799940894140491355196386666; + uint256 constant IC26y = 6065470470210909002271230147957121190242835746405142690102241437741074169890; - uint256 constant IC27x = 20856664152702038152073898073607260504713974915497170470013213358589148195496; - uint256 constant IC27y = 16289984255803231565038245555195542047629395546572280647123389161444417971802; + uint256 constant IC27x = 14266140188138381351729765760742904177535380603768711221397323242367801300600; + uint256 constant IC27y = 11184719633944772728458395170571297750226790753224105034048687225921351769185; - uint256 constant IC28x = 3559951894740717395468316711337065168904775438446206161240136513659995988852; - uint256 constant IC28y = 6220168565730984299204583459599531536467445850896316477312219438812674598134; + uint256 constant IC28x = 12447368959258473502538778287940565345549666576417739869817776959132935138529; + uint256 constant IC28y = 10466129433413011601575677866754023304225876489776658804564365362437381726657; - uint256 constant IC29x = 10045785015361146439922103880268122753194557614584401670992041149651174938426; - uint256 constant IC29y = 3636243097487537009996004046942013245175535333592383120320202659005095158940; + uint256 constant IC29x = 15313035936915855484568977580210063685650295261876175289687428478013701584535; + uint256 constant IC29y = 13026492289711431688326718002844245669233476107247152893555166355998411287781; - uint256 constant IC30x = 8214743474785854080987884698401706499167027176616015038372339548021576538361; - uint256 constant IC30y = 3428810406315992284055783425099893053213425751412394897713941587222409549759; + uint256 constant IC30x = 17620173842809202079236058311441204112948177028372803375700024936604337532582; + uint256 constant IC30y = 17127452532371532056651533418242588427609733230348364296610369445374519683409; - uint256 constant IC31x = 1267549717859668451439566862713405719893723955764005218098007961338892457797; - uint256 constant IC31y = 11758429816001925927960801327235916813596014397726174910675235018229427539532; + uint256 constant IC31x = 13659394369623251676552253941856223659970980908082331122273471030881523839468; + uint256 constant IC31y = 5809562999079480828617264331821793267531173023113534849740489529791747143923; - uint256 constant IC32x = 6711601108141956980424669452891331514596660008992284700508667715390064956555; - uint256 constant IC32y = 11191350487359002842496957330936506202001026948170806569580865351098880972781; + uint256 constant IC32x = 80867535813945152830009288167149538782597009557502674003006854053895143507; + uint256 constant IC32y = 19603558764703683744638687552023794414530381632012190707734268824573646150820; - uint256 constant IC33x = 6969583499031249624725786651021279938665233209619102259194496777307711531318; - uint256 constant IC33y = 12619377049317739439680086336988760205149563407437972645741590800514719303024; + uint256 constant IC33x = 1629225444057162213927967169556768453036489932501915920857135800715461648727; + uint256 constant IC33y = 9948544631896711259435023095898776468978641613045093433106022685743310394931; - uint256 constant IC34x = 6583002047962971819178024209787355947253075667002085983486858682679610415792; - uint256 constant IC34y = 7277493903576658302975604936999804116171838874279241410915597563901311265688; + uint256 constant IC34x = 9410034415848412403442596783971139311904852140664334560840529189802579585532; + uint256 constant IC34y = 19725620098272737991736980946833730739267922004172581650909940343796470552165; - uint256 constant IC35x = 8409562441091628398649064783168407582528957269661520187235453496268334600306; - uint256 constant IC35y = 3882989998725918782530462650946481670824992493219037513789268126696771430348; + uint256 constant IC35x = 20376978433617177577490525105928032566950148738759389919309796591019368562503; + uint256 constant IC35y = 4826560903129273765266172543265291733364642769359516979133329505925361076766; - uint256 constant IC36x = 6455316605595738687684242950455236432385232714912342332308527117235221599782; - uint256 constant IC36y = 17947945135063582453644296713215480011345375622915077708579449202303948211154; + uint256 constant IC36x = 17935613802792654904384129981780058021038639066427757791407716421750949434300; + uint256 constant IC36y = 17872468359027094939389570111807409259649878886796616615635183600078561384005; // 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 5d6f309..7e5cdf6 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 = 826157184837839653966309698688579132938897321578442386264245742884068310496; - uint256 constant IC0y = 21742828786089281723622334384086099270903098394123036522913812942542854131695; + uint256 constant IC0x = 17004710998787692895141995007791132837397521043406533491825207254699319516393; + uint256 constant IC0y = 19443930068554541278240992992524372163044558446869371355626769348299687283023; - uint256 constant IC1x = 4746894749317347489473107619470551810383207615606316735952923166740572729500; - uint256 constant IC1y = 13240638548826800941394996526549480277267089363627431633233705212973735471283; + uint256 constant IC1x = 12644791823005552312484569676002853121394596480614902005873159773796566913952; + uint256 constant IC1y = 16080351311794398930855576364719314167314565159201995754077505896617537733452; - uint256 constant IC2x = 18524221492888738982283268640353228847057865771275915603395228256007586226006; - uint256 constant IC2y = 6627297324444772140329097476824137975058542316048790116975662719163158674461; + uint256 constant IC2x = 9204178974689668034974177112731688914393378444826183609215352420599649463947; + uint256 constant IC2y = 13975830875093833859872130522255399444436090376948721388021342187976094499730; - uint256 constant IC3x = 13458450701730629842728216360799480112056737119649281192974705693204675440533; - uint256 constant IC3y = 4191057959435779029699303911466622953635606417705581960636697888447962918074; + uint256 constant IC3x = 14699375122755705490322632556133106933018377509549550177757296462538746985791; + uint256 constant IC3y = 18747311648779769609715737555847941183763758869801157300132574588891242597811; - uint256 constant IC4x = 17393478035215623903531349267385222996646656147148697160843045733990852182873; - uint256 constant IC4y = 19526613028510093783962039107307336099785641349794103117812409997310795316727; + uint256 constant IC4x = 3661382345004677211499943503405034934038619275398190938039846082151946866143; + uint256 constant IC4y = 14754568768299674034753952495651353882129874910157166178927380221300468227996; - uint256 constant IC5x = 19700632609896967182947832646689621561036800401028641117587463377317044067121; - uint256 constant IC5y = 17563524551202487690430242761955559887093688697861141704761904068535789480821; + uint256 constant IC5x = 18799199101527307264470128742130180258742870137118077921898253948545347428759; + uint256 constant IC5y = 13139184403460289660015249360372501273428393962085410358912725805183699568070; - uint256 constant IC6x = 11857590879503392679306429088089973101494695329746675340826783251822572095609; - uint256 constant IC6y = 974183780329905671576079445261515232448284108763840918496967992640023685030; + uint256 constant IC6x = 18003199774097870701652698062913422309374844639382181020086725411915002177637; + uint256 constant IC6y = 4572029171002634785273838157642262942146676853961186777505871231004463336121; - uint256 constant IC7x = 2985064396858376122772659175684520416646023681332818811433944665621840535368; - uint256 constant IC7y = 6651008213465139513328686558415818478033544270060775613357283372468217938284; + uint256 constant IC7x = 16195131183661772986232225725686821520464503546826608211822747391196290252477; + uint256 constant IC7y = 21704804964203796861805367487023901515457876175213897636291993929543049136230; - uint256 constant IC8x = 5526313511259471243571267211040694627689108400645452007006401447531530751837; - uint256 constant IC8y = 5815059659003639111391685854668525529449729800361592528380406106705958591028; + uint256 constant IC8x = 5841493948654323602240321945690771590057121871715707671485462787133117082117; + uint256 constant IC8y = 9930533150877389879191931764948468023377108782366767529450923341183536225170; - uint256 constant IC9x = 10848762186629816405235992423870422595954924496966238775080316415470098536536; - uint256 constant IC9y = 18164350889171823285608613464535553402700849491622694554995545840171901752489; + uint256 constant IC9x = 3280586909653845433985104911210866104984119362349289132754080829418792256016; + uint256 constant IC9y = 6882544290302286752519523731858759910914698829801992919885687164378672268680; - uint256 constant IC10x = 11409456862023263096534879642775056485594818467895934297594215657194685089311; - uint256 constant IC10y = 1125816384543235939850769102318688853960902172577339634677917051997882482278; + uint256 constant IC10x = 1919346777365953081348752440590911932867391616169237784169692782908910893940; + uint256 constant IC10y = 18925401648120361653172774150133988298066338499291171432598590525775217314607; - uint256 constant IC11x = 17454946761220444680846019893470601123016716607255609012301111483401239956239; - uint256 constant IC11y = 14599956780718734240053860344600245412971336073453884372612539956401658416459; + uint256 constant IC11x = 9533639839097081135131859694367176973632871263171070553291766638499080282219; + uint256 constant IC11y = 5116317517222710773822406487738426011404698506119195085390610092530909375018; - uint256 constant IC12x = 16356432335147008865154666826533368131781587153864856300387535396174318831859; - uint256 constant IC12y = 715432251371940390492720845599467510369652571145741102037538538177188990496; + uint256 constant IC12x = 12754601945335106330124691823763406350227593530246982805818689872291675700731; + uint256 constant IC12y = 4166692748465056440554887507932872559324934660244024569528912916976383095302; - uint256 constant IC13x = 8208114947263041348114487167850656282917915842779499004186526644719481018791; - uint256 constant IC13y = 19170080788788270357222312227756798986044665850698194152394893756056810116685; + uint256 constant IC13x = 5499347962001359320210731599664920681581852467882296791977192959632698070458; + uint256 constant IC13y = 7743525801805173771647419841405324558261457987295331708038115034961444820852; - uint256 constant IC14x = 19224543367398392211184352139643766275927041220155857208705892917656896624313; - uint256 constant IC14y = 12773391242211064893856103003840774483841545684092235873240571877827981708896; + uint256 constant IC14x = 6856172316621233297219258171848596767906705855320341401839690751966676600475; + uint256 constant IC14y = 17965759961851263177536808056427336706252615595135976027979618271367565845636; - uint256 constant IC15x = 9571567118471888139635136443799982033018321690704520618191128021915416979560; - uint256 constant IC15y = 8147929189457351074290268938346530202259838316578814192535686571565009063581; + uint256 constant IC15x = 9420354103520547768925698762084454876136289655851954355602414680104567815766; + uint256 constant IC15y = 16378879634372294000624118585678455387253344239227122981953708476887009709628; - uint256 constant IC16x = 11194997131411702880912188442003640822777581414757872762980199255982203325417; - uint256 constant IC16y = 6055765492710438160767098160555859767073344277249359921562944713660630379446; + uint256 constant IC16x = 8227872461755024741109809138865927533003518374890578513214500489847134359518; + uint256 constant IC16y = 17789224606029004356650510532164343965629343288926266506702273378366847197123; - uint256 constant IC17x = 4662345302604259059003844054662708887697693947091343494601691989255298238782; - uint256 constant IC17y = 8870894021957209729318334815498144819785681310852804828331527479936904396740; + uint256 constant IC17x = 11499541812851308232579564591833133453156884086682841692698575154860821094222; + uint256 constant IC17y = 20265646733776818249216338268785193093181877185172492156169163490777454080738; - uint256 constant IC18x = 13905467999967839880308506069247699282367868687633501191242042509716132006245; - uint256 constant IC18y = 6955760904989099106810565155867155044607345328317975165604489001324718214232; + uint256 constant IC18x = 16157509718022148588157235149816893978563347275127132149324258419767082259289; + uint256 constant IC18y = 9108626779287107397043157951216314026579358161903660804896041551472291353833; - uint256 constant IC19x = 14229123937800676480768641990329075027007079876195122931378797239619890707585; - uint256 constant IC19y = 6721311949228472235306987702824096380039272238332719988453162137214829043886; + uint256 constant IC19x = 9529458114220791613795435803754667781094217989700491166637603138055331360305; + uint256 constant IC19y = 18791730642122500027379947955949131082049067831595910181844046864253989852850; - uint256 constant IC20x = 8182180686712881668344659075496332436745098920588038489342853110122927306208; - uint256 constant IC20y = 19780050334705028390852666357889030858660453479052749697252898080424384821827; + uint256 constant IC20x = 3464649547150582251169355675881528866313831967930871809082750471582929295312; + uint256 constant IC20y = 16772982890037559912336478307061854685749702368539633231875156309346195054185; - uint256 constant IC21x = 1489538266585251167776234368498709026790230985739920725817602646790593568117; - uint256 constant IC21y = 18492177771550380837685457926564782197240803355753300824770758909089245134513; + uint256 constant IC21x = 16849746108367973182511157841540001731266218109759367740422821952061647420785; + uint256 constant IC21y = 10034363433744779268583136065689266303478016588807937559608616046649948232082; - uint256 constant IC22x = 4820132068344277947288769761555313959794426810475730716988457903793528092721; - uint256 constant IC22y = 12423684489117321032194050954389244998050332824554338537555930135622358010461; + uint256 constant IC22x = 5171212517137325205762484572444537315475041888668430484268858033612649206341; + uint256 constant IC22y = 21338424479025043453237144030653716166701555210841979863064714608949346569764; - uint256 constant IC23x = 19952033835171690414892910681081276502612237100433361165104636315720553474413; - uint256 constant IC23y = 13802471673405290009831609152057463279012757104560478649389384638093977646281; + uint256 constant IC23x = 17757009025695601729703036499565638624395877834521982899697065023859462113202; + uint256 constant IC23y = 15481176002462283563223667822685505002361430061132153841329189059924691729279; - uint256 constant IC24x = 17700045406225466141879246535208492345676772958394838375527664423450243000234; - uint256 constant IC24y = 13896437174333105469988935663681913149872149913237653179154321696210904637990; + uint256 constant IC24x = 16628408331864862689957680812784092048786523721591168965220597146371110758628; + uint256 constant IC24y = 5859839116881858068054839639819481693024779537478674691957849563945183971159; - uint256 constant IC25x = 15773489153958618338212720637526593330625171477784683439667351026189199134697; - uint256 constant IC25y = 21282967180432738690693014678723793135073290137248534090114347929818782140086; + uint256 constant IC25x = 8096085339388685569595985907191779746855321867318951712611638386988853386625; + uint256 constant IC25y = 16954448077204813061809270723495173760811940435130455096438200016775541284476; - uint256 constant IC26x = 4518250427294613460855217365952327987778155656067734737292444331907356559920; - uint256 constant IC26y = 14623018032555469968612446167975353612367040048295631732912557132869179832551; + uint256 constant IC26x = 13133697484443245765208633135421432634449626917494206955985455651906528546344; + uint256 constant IC26y = 7821879285112222143651640316804041429703977652327908397565342835888174013699; - uint256 constant IC27x = 20466401196277929533785273544318756665115597485846192522870281664694140264687; - uint256 constant IC27y = 5810980182882761283880437872046872101477614883329171188575582643208444671321; + uint256 constant IC27x = 1703155640348449943602064575925378391125305011228500774292354571109448096553; + uint256 constant IC27y = 7565281134779133897282596275740027420287603982625649296207673228459385924016; - uint256 constant IC28x = 148525684504103143817299511655189168703378874409617641478664579872367886466; - uint256 constant IC28y = 19584034535682412167146865531072256441701307027287243857783210176663541459669; + uint256 constant IC28x = 10868088498840975403081291051973677578589006238821068983693396223648050784692; + uint256 constant IC28y = 20698872866344058555279780862770750925625605641139717244984753636760891293394; - uint256 constant IC29x = 5702883755475048839989110651062979434028150593213036598308950910874200255352; - uint256 constant IC29y = 14674610865101648130292962441263812754945397068419314423445035011326670647273; + uint256 constant IC29x = 12857235282964230634010039261459204653568646443446570768300504446035244667646; + uint256 constant IC29y = 6821604888169458755769369532466564169751629173403975016035481361516210372475; - uint256 constant IC30x = 8660489665783224406639676686936559481644532596999652062852705867101673336563; - uint256 constant IC30y = 13757101899297877375244907374316306721763982761991388141328819294578949673628; + uint256 constant IC30x = 12065060227862213850176826074523964002493779379112177939497535983490345217087; + uint256 constant IC30y = 9382960778244421090249616987638419714853332807295487963318479775465836219343; - uint256 constant IC31x = 15643812874650484436367986523721712371977990880227353702720140285298437237604; - uint256 constant IC31y = 12278191208536712683666353574943448009061686228398744894651959062637013143432; + uint256 constant IC31x = 6835404923719899074809239068752731658790711070282442203383572742005332382616; + uint256 constant IC31y = 6469840624735948327748782468544468321911256537859355699901262809099076557655; - uint256 constant IC32x = 9915168287464207324757985122067823032217343793889725156189488239940712816316; - uint256 constant IC32y = 20444358008931061730313986895946962624491749816501380610307219251665847553145; + uint256 constant IC32x = 1660498325308964591671128727956913544161382367163164818539352069316160957986; + uint256 constant IC32y = 15401272854924062989670157053872643697868446741902111515341639254753088719376; - uint256 constant IC33x = 21416542908997699808840915928453628961898094023574436117379043002220648407376; - uint256 constant IC33y = 19372058037138284746937381438649918932967298238912992146701407101433230944731; + uint256 constant IC33x = 12885834127091721785761484363134169583544368174964763323772266263886505634706; + uint256 constant IC33y = 8107863501519735416366350576950163874023274200295843769352043344222084584514; - uint256 constant IC34x = 11919318873421973706362265934961452053998079993120876912669152345591555763917; - uint256 constant IC34y = 7469706204887779560671396565151138639787723587688022187145260516082657991984; + uint256 constant IC34x = 7193667623869058445345979644276798397719183806470082147099385620593508102315; + uint256 constant IC34y = 8813202531262673455068949863298485017715610058267610670821825425115132420126; - uint256 constant IC35x = 5754354157639317979885626517732874614388017536396753994752902467523655405552; - uint256 constant IC35y = 5118293535313205032602944788163028998490759758248121860520010900945147974277; + uint256 constant IC35x = 21761715976747114532878663721632424412765149233561804552471310414379664762034; + uint256 constant IC35y = 18453367649471025427888229551681570747059101038021374987236999098182157768469; - uint256 constant IC36x = 17044592268614076527102966286986781734902928433856394184129025643534639957561; - uint256 constant IC36y = 21312980466718058420313182491185106686697221293561160344435320087892177358981; + uint256 constant IC36x = 19879325251879788881648852917309932980876136240463433778446397718794620540691; + uint256 constant IC36y = 2207541373054987130073938030305630284984158674466431894380839263504556009656; - uint256 constant IC37x = 13337098613901567247517252856476420462637370385003022909729477463467591853253; - uint256 constant IC37y = 17309372691982443619771407720475776190581851828110067252584711473555502738191; + uint256 constant IC37x = 2088552796725696691669916509795827766236760274801411740103373896751611429665; + uint256 constant IC37y = 13222402822805849237644301289160459591112921588273868159382963955202540348453; - uint256 constant IC38x = 11676130393689452381497372483908750003907347658574726075506873380653742171662; - uint256 constant IC38y = 2429256806244054090856707337337149888651724446695376115620155627920545546053; + uint256 constant IC38x = 12199921497956013566788216787072759421373343287060440113029537464584728128178; + uint256 constant IC38y = 13599067646911342352704114782502811463612578507980811598346505502323180823892; - uint256 constant IC39x = 8066888946592112579713514929794257850762976899713204999308616827949869388947; - uint256 constant IC39y = 8222007192156727813640229488274146824955792995077557213998898843955869218228; + uint256 constant IC39x = 18263406944012624641169252023830825494800570914052433828853189171288096143064; + uint256 constant IC39y = 3446229818040417300183223800271278004808745832966064436318886859064729349151; - uint256 constant IC40x = 5491375329334337790452763338850169650607255801506047678188772087715168500651; - uint256 constant IC40y = 9349667677950228626957775242135920999633516395781771994144820875819863554653; + uint256 constant IC40x = 9378703356983679612050395977716535408244501977399233470577569256730724824672; + uint256 constant IC40y = 16390137425093319022556837861264107254471896599138033799127532878698577930389; - uint256 constant IC41x = 2744242472255418593756301091356698272930588318768348942155124426333086725768; - uint256 constant IC41y = 4876873966161863088028295225876411626084710544321060915718008446070109783573; + uint256 constant IC41x = 13075523473947256157541787905905661591910590402897931747186896826052308724021; + uint256 constant IC41y = 5347920294122512982141473974107257675634717938536292359789441448949653088299; - uint256 constant IC42x = 17355227664894797270121475154046488271680910616767779733132872722484250035928; - uint256 constant IC42y = 4878598063167171967939711390987805966387500411757709427749776517519624139512; + uint256 constant IC42x = 9877452265076319604010011553207494579521085551741875327630072831063403314103; + uint256 constant IC42y = 752036670047645504276785641741823851600790629602839155163950134774999571784; - uint256 constant IC43x = 19438365678425871542769721603087558691239815886199726757495931131297122921782; - uint256 constant IC43y = 3308755846627365850592957180041108534158192194919194595251630541341185829708; + uint256 constant IC43x = 12029377972625604867128328901606538885067073803591960119894887366930009954163; + uint256 constant IC43y = 18805919667207369457374276357624550567677464082148661876502158386463341143349; - uint256 constant IC44x = 15061110201445643349582081464763811631147468121692944559573198601967344830105; - uint256 constant IC44y = 20659530390870449288869061999153707857602168157429398255050816264117570628766; + uint256 constant IC44x = 5080276144448588972264011814017915476635034329555841780753349972439646406270; + uint256 constant IC44y = 2390054213005766794416468526630567663057868253315067882705614507446638613279; - uint256 constant IC45x = 12048801695332269662898388084053238320192542762669397948392671151039324764888; - uint256 constant IC45y = 19401546308060601556467042664739279589065791545482690215004142226049781774018; + uint256 constant IC45x = 4837024129369818808452789317797277479930117505329994539806476968312542383393; + uint256 constant IC45y = 13610084790753075229346444441828648717484159393906872630024282346204216868406; - uint256 constant IC46x = 12372207617877651124884123148267175656588228458508109379070347828395766217625; - uint256 constant IC46y = 14096305196424523199778723582548050520329775109946649129456301311387987086227; + uint256 constant IC46x = 19800910351015844299389709721130066568774698349141744525984870622632237776888; + uint256 constant IC46y = 19284850612812767523817696439793080750525311499272753608566644924786882871553; - uint256 constant IC47x = 13203413631696793419520740170543715048623014126416296874805781132878429539819; - uint256 constant IC47y = 18246591970703604264779467761834250627531713551696563162668113524974407714463; + uint256 constant IC47x = 15623248067062580992126708391381707769483411651503081282513719686078904404582; + uint256 constant IC47y = 19949881375577590988479328105903016153633629131303853425298510739832888760655; - uint256 constant IC48x = 16721358967806068851951309178286520570467796594625576954628874257553613364824; - uint256 constant IC48y = 3089090929330067329316059446638318241765155625330360045424966824372054540004; + uint256 constant IC48x = 17315551947303506662045887658329845876846525554151999078798859301614754534480; + uint256 constant IC48y = 12635514650685197651795986251908636278331168967749076799619387332004284308574; - uint256 constant IC49x = 12952388348250235750635119542416229347463479898873759194372904116544009658224; - uint256 constant IC49y = 2192763573865916387406901072500662666275151597418900217638086740576642858510; + uint256 constant IC49x = 16052280355623817282251252544298661101744172558244392841204902028441117825228; + uint256 constant IC49y = 3042930551993420262234584332814758071281003375739125896503574604852952250633; - uint256 constant IC50x = 12298259621852842151414299060085222611025879721498610152138128979717484452881; - uint256 constant IC50y = 8539856172118242378660984340364880912039948008672036719265678341058456831329; + uint256 constant IC50x = 19921325413412046210121618168872630945913922106945248326243825959121024934676; + uint256 constant IC50y = 9598931709322621625637566595133549133221769050669047790505735666073763253475; - uint256 constant IC51x = 20346045372184266801926255919894305496939531094207199151840133989742322465231; - uint256 constant IC51y = 16323254840889500707174771954970474817774663246195117178426198616386975192968; + uint256 constant IC51x = 15378656604463394202196800847105793215715964220370669709860741788291010266458; + uint256 constant IC51y = 47958853995641643651903453065830601492500545554761651103580985412076314241; - uint256 constant IC52x = 9274065811589869298692322151931836403771807605767152939532470348729845201721; - uint256 constant IC52y = 13015569382279394476329750742246652363049070655720725939080964949162777399787; + uint256 constant IC52x = 1110291490429041131630442372508609830565768982088189279455220963652846269988; + uint256 constant IC52y = 13300207653876223652637075631109279477878071277422450991948844861061015861442; - uint256 constant IC53x = 17108673642141327918097180810830941946183826149666856906037528254635986233493; - uint256 constant IC53y = 20869263177369480940106876306681179252112426199813141624453449973667392395638; + uint256 constant IC53x = 16949192672369286450338596479143270548543897587644072045144114060183802540961; + uint256 constant IC53y = 12092965493987764308518960354927282856875280810273642747932599365525858879946; - uint256 constant IC54x = 18209515825884270918635063148284992072921376660033468784864779478728674734994; - uint256 constant IC54y = 4220686285118561916788421389250040446469740622672773969569807583380846393928; + uint256 constant IC54x = 19782149321965902477644957735137072156112985063345677129027403116608490973343; + uint256 constant IC54y = 21541799792684777816359471007683948046230155408086635909131236867136451919093; - uint256 constant IC55x = 12726384677330372456487240773373174693146283900274731213770863379635166160563; - uint256 constant IC55y = 6002142423260582268762371165496581300428286005776909264725359022143653642629; + uint256 constant IC55x = 6242011278573169344682158284524441851273064505960152972051533180547036973428; + uint256 constant IC55y = 10449005480994888053273564772601372782559748049871973472322437202511503831065; - uint256 constant IC56x = 11539327439435338172316631770330101731699067456547958470221864627372371473256; - uint256 constant IC56y = 19048774016782733097804738400439507117844152604202808823332951705813955433122; + uint256 constant IC56x = 12897778013988561781128216287980759952891339156464264096540285447923620321244; + uint256 constant IC56y = 13229214310285642375812627997146674438453288738145381322671274567485173483327; - uint256 constant IC57x = 17238391568233777715280104294983104201721059311954403265623356335759519147118; - uint256 constant IC57y = 10609581253004071998985863656324426168852529153267182168497844039509547736041; + uint256 constant IC57x = 17450427901170218226921789569366137510626325539438622297492770795765340619137; + uint256 constant IC57y = 385551387885369724094484022807535742280669923262457831365783555665030742500; - uint256 constant IC58x = 20327561197734709653052075199809462875983850980988445292361673163585369583362; - uint256 constant IC58y = 17203217249629478635023115933751710224458667137619944012870845444974984101375; + uint256 constant IC58x = 10837546839496615991732865799762708966711318626674992050937051354806913452301; + uint256 constant IC58y = 2527358787034935965124994184168037562231522835078034668349282842853156758445; - uint256 constant IC59x = 8063918969953662566872590678147767508246022221816569058166177063973747185828; - uint256 constant IC59y = 10355826751257755566525719098541992666255422254620085445317910160615919309582; + uint256 constant IC59x = 4680541877147067087870867576377741695469954956234011690755015285402465530699; + uint256 constant IC59y = 15373959828406478995325417695516685196691611281621693928151232731824649344270; - uint256 constant IC60x = 9862417231048402421457325053647613367893514460584387671701939401818804994640; - uint256 constant IC60y = 5013201421734134446005996908935567804779695898079493018269304155859569328732; + uint256 constant IC60x = 21354149461176235605083475650760229063505184729063325863103710893182060350284; + uint256 constant IC60y = 10592522140701381719773071135274738336486629758381213522778889317321760751435; - uint256 constant IC61x = 4030989414935491896217560815716291086678130517545251413741879943354139650615; - uint256 constant IC61y = 10396909143371005608632073798860994894662020124508969454741062498737606138850; + uint256 constant IC61x = 9978492052428188527632834995519099255484890477035023619332648320587082957003; + uint256 constant IC61y = 11100491690166084660505263993611278070458813258111688169775698686240913552666; - uint256 constant IC62x = 12898255110528712304997629639582499185017878021562632543821488544259615212384; - uint256 constant IC62y = 15590535970211213694963420489115763408937531562704274335342207909779548619926; + uint256 constant IC62x = 13731916709559560573226693591256167268022895402045391479529098701235375457934; + uint256 constant IC62y = 950319574239974292999425831748836122314741854182360812088993094206102142284; - uint256 constant IC63x = 19226726305682812389085823443500316774265924893878126969472728765887962088049; - uint256 constant IC63y = 17097944269626305792359768682674455840496706373797337814395342896291098040157; + uint256 constant IC63x = 5068923382173809902539920653448248183331576079535575357552560260055738836778; + uint256 constant IC63y = 15363966812562181402438777386205572673348035391188590741549158023208626770209; - uint256 constant IC64x = 6525714488871153169111941478878002301027598689610571669687837855845766123091; - uint256 constant IC64y = 15759047568234518503952547354526181526703827179386697788843826852344411311219; + uint256 constant IC64x = 21395083388801274541552258600615630611941727399668901249595407273728775365821; + uint256 constant IC64y = 16538280437955025516754242893472030228045516542071683074607286225324070376950; - uint256 constant IC65x = 16731059791994759299704933778632740846751428181891161573540358547049842000139; - uint256 constant IC65y = 18039545160362699861356865092372561057914683896419930735393770020730911268250; + uint256 constant IC65x = 3079950282300751830138475352446736006813785568327888519348876525699254350813; + uint256 constant IC65y = 3751051986764641586202600559368567195934768597670441097488472917932469253030; - uint256 constant IC66x = 3274077004966342625465769273177608123164783552598792216783367539402997706126; - uint256 constant IC66y = 5613043513152995430467657510470125667457523268298557792005769859877895457184; + uint256 constant IC66x = 6767975222777909383619240828733821271917658119388480837589713218221932565531; + uint256 constant IC66y = 18494759398490958010863934065345032037736463164581298269679621035591655447708; - uint256 constant IC67x = 11463542738659454257686571308441750235343447219805531847045344022410145160910; - uint256 constant IC67y = 13087768465283646354076045701241467476637693098387142247320273466383047024937; + uint256 constant IC67x = 5473088256988013676333946201456560517458900124365012196893172306448605239922; + uint256 constant IC67y = 19422295409974569129469071437580640413454018766973308535088511148920131456259; - uint256 constant IC68x = 12118662042346188875657598333484531816416087610980553991774139031367579901367; - uint256 constant IC68y = 3670164795112756016635268434130271093331863931949610562730568980001213625581; + uint256 constant IC68x = 15065759682584799335021486999191939739049977297508966194104487202267159797388; + uint256 constant IC68y = 16020512162350302449651076294603591050357565330704093384765189646607661917716; - uint256 constant IC69x = 4719195397158798923371487398950259949629077694083916390352862679020115263745; - uint256 constant IC69y = 2420369729797784429581020366117797940499344312946265976554124864305721187561; + uint256 constant IC69x = 12086230100000632200320625163034583321799861930412404716094830075476844417799; + uint256 constant IC69y = 17437375110774913014284418316174623249256356724006464880187125952875994472451; - uint256 constant IC70x = 2194519592217201767959684732333293028469812614635597636712978365884707647742; - uint256 constant IC70y = 6368010604531002605306772418251952334127776948642303236786375117223103233913; + uint256 constant IC70x = 1411532177508099724534230438647931257326886787262776172062463047608430399388; + uint256 constant IC70y = 15604592966825800535608860904548698206325380927069738452072024337080116570232; - uint256 constant IC71x = 16313908363052888328645348111739429434829881627141534043376952281455528251575; - uint256 constant IC71y = 19487707363427000563714193148535103868080185601386617700983857047236025419735; + uint256 constant IC71x = 12089231618997252506277722010829627665245496234132185050480426731913041990777; + uint256 constant IC71y = 4706297844409986908566262947043315870774051770777008786132309818902226801271; - uint256 constant IC72x = 16156718341116885613439175411056572866350738570419269318252654740265680762688; - uint256 constant IC72y = 19772429625444200125952873785084967255656903218801373799039089065868343790734; + uint256 constant IC72x = 4297607301510315080481472869994655622645404733061332045837413818087156863835; + uint256 constant IC72y = 19741334349858948009807627378882267592479123802995580593388387026465894470896; - uint256 constant IC73x = 9732093750868689849502768081357868036388143463986117295789993592420322000139; - uint256 constant IC73y = 18536468252081869603437945136679046645027081801246786137358914866571120855316; + uint256 constant IC73x = 9609799551379154422344242686247957677711735612903641373648602481960500966841; + uint256 constant IC73y = 19498419714502401650671758561392334424398580048583015251917203340246294104474; - uint256 constant IC74x = 5194150317442063293254743121434371553437505062507497643428537499716513919244; - uint256 constant IC74y = 8475834485767274352507024685426442505496836509323131365677737834285805308559; + uint256 constant IC74x = 857604895007042227039959652077435850054921019826723987740997848393850322370; + uint256 constant IC74y = 20741943279707921314587049382144442214929271385713671481592492715188595353432; - uint256 constant IC75x = 4407865572688249821437688550774360756513682264570451035646152555535192423188; - uint256 constant IC75y = 20870603234091203673963645803198590617097699679363240561942649760052994787552; + uint256 constant IC75x = 13051611008691320100322918208810802760628376726380278788043942964417677722092; + uint256 constant IC75y = 19749449774990460947297990423013220542360362013462895147111935231154449479811; - uint256 constant IC76x = 2308024612458463850137964184703510924198133715352642010605351233301020712542; - uint256 constant IC76y = 13899483827168171870964061103244441429869094641580952417782690554345143332205; + uint256 constant IC76x = 21301914648676221928544762398658685964106527053718256660408127143951919104969; + uint256 constant IC76y = 1024596072673440380140617044509028337072193662138603643022160170912628428523; - uint256 constant IC77x = 1796913307364504950147571744456872983912308856872076973041842740015799259751; - uint256 constant IC77y = 18610074877052217009298115201702136801170105896648812596433912793197175262944; + uint256 constant IC77x = 20657729015551191103402287718719711126397726361906160670497138006457451690803; + uint256 constant IC77y = 13621491872910114751923111189819309299146522056255680547901173168823907639559; - uint256 constant IC78x = 21094494115717204612689789415533238654351331263871578917192657068796763876966; - uint256 constant IC78y = 13127434905898005254590194735296818446192278140932126103134238666362412476206; + uint256 constant IC78x = 20739047138018548451532714631520651776037640368455708306234085294537956053990; + uint256 constant IC78y = 21482229251988263233858504091126447198608001560577007306785649814199085766893; - uint256 constant IC79x = 21666775507500320751477783742385543441455874722349529582964996548706991433260; - uint256 constant IC79y = 4558019555266563638910604011878684457480147766329410148679531103314692446188; + uint256 constant IC79x = 10420272847384204701475760387628323792763832687536038626095630107498349371204; + uint256 constant IC79y = 14128358978737225089292163022156783214355371947697361338311598853599298638270; - uint256 constant IC80x = 13234413774668275572995458839125712503294553533241665118299078145835005309898; - uint256 constant IC80y = 465741220687572200861815756291598962337542383042618436832593678772001164884; + uint256 constant IC80x = 17368673533733208154713302604021995066654720115324322886102667386301962581344; + uint256 constant IC80y = 9459223291513175743563036791528025711491166345663341624783416506146908838638; - uint256 constant IC81x = 20434464532979503243231842065861265623711775918088681555164796255561895618450; - uint256 constant IC81y = 1494280528939544680291063287620520911993556033404287457514982614438470877206; + uint256 constant IC81x = 1391291424865741125587254823710901108181986162195145447643089734682082689821; + uint256 constant IC81y = 10193909521552039074703083005084548985588332847452397294351320314685856172616; - uint256 constant IC82x = 8100796229236414634748030017963921160155013074960705130376291434414417334405; - uint256 constant IC82y = 14223582895011849690552180664501103046132350336775850294576294120494324618184; + uint256 constant IC82x = 19918786085678332954610611353379262045932393653998024005136605498176059839893; + uint256 constant IC82y = 14142957383974103553150219881919284668024507730323378917140307560934752750074; - uint256 constant IC83x = 9502078604422014536822327582310309287463802983620974392971553195275252263839; - uint256 constant IC83y = 17506629600849181810541185383741756865937156554388765707738060098076094551535; + uint256 constant IC83x = 1570029083685592686310234835654951436393340935591378328748555562375719483749; + uint256 constant IC83y = 15226158882273809099812559054851243005639488964508406675258260511723589041093; - uint256 constant IC84x = 5124383492683288984602895845955440873277535766386904126048904444355701181259; - uint256 constant IC84y = 5837481690198558239047684739904260787223973670556255428503375384126196487496; + uint256 constant IC84x = 17316047877923704724666794850334231662113979903262096502746923073135967585844; + uint256 constant IC84y = 14551601788532250144403750210254697179820893953789324384138622104509667341932; - uint256 constant IC85x = 162549920853078761444010995874196485205175127211133495618244064883184970555; - uint256 constant IC85y = 11691300811572378864596788415579532390285951085084989296209683874479917238640; + uint256 constant IC85x = 14123605819378363241346534605480430569136046916399350440618403450161823189335; + uint256 constant IC85y = 5340083368422398956561206102280181810182902754639434503897989821767072720788; - uint256 constant IC86x = 21108522543888731043642121885009948773143287991367857229248779711883343848765; - uint256 constant IC86y = 10200200589168501190311809446966431964384372994364153432001988525310380441812; + uint256 constant IC86x = 15921077972213501271074105779819159409183136956600961078343302077715693578746; + uint256 constant IC86y = 2933550567408681391241338660427988074495541635788148879839481750098956267843; - uint256 constant IC87x = 12643512043376868474658575591454771585094499948007824222762122842844513094345; - uint256 constant IC87y = 2665819945679271165517303814495263934091552418991978062316672614227297060904; + uint256 constant IC87x = 1401720184491367811338519854283791120195301913992602610722293828073349175469; + uint256 constant IC87y = 11966556688733954078691049732411128585305476127293077587037005197499216324470; - uint256 constant IC88x = 21061462917778441256072778436458004317547468876115424924785474823217649137974; - uint256 constant IC88y = 10725953902083695646570161950372721147826070641896061097916400333069479032955; + uint256 constant IC88x = 20598666587057420415999229212420929893928679666722018463199768880639392854902; + uint256 constant IC88y = 18963878798557713246038075377475088590355627984981575205222665889032068607866; - uint256 constant IC89x = 10937993643342145485480508931039094564006760800395856126079514790819729662001; - uint256 constant IC89y = 17155364566457499511983917901558802706819055589255729088780472649994258831158; + uint256 constant IC89x = 14044957399004140031742492896725133795286878943561175558780160607465662685664; + uint256 constant IC89y = 3320806911779881604885131566526845239594179276481372334892512920960531311804; - uint256 constant IC90x = 4606526979214952417219364414767328641293978651151932738622234881857593193833; - uint256 constant IC90y = 21153687967774088815829128634387540821833249150347842102838157959971901078896; + uint256 constant IC90x = 5411884658314472173376895677716454445947337370970824422327182958687414966094; + uint256 constant IC90y = 15213420376804503826628389458666528363807031346136841391835052467511759524397; - uint256 constant IC91x = 3336134534754836675732799972373260563456751804822580826473449201085527666887; - uint256 constant IC91y = 5400108187451749259265805590317793112687258942267723099263277949796502398169; + uint256 constant IC91x = 15183889773751549283387281587236700659135474318315881129482941391096135033397; + uint256 constant IC91y = 1334659787298794507160780747885285094961500766598674354895673661171208735924; - uint256 constant IC92x = 19602768267271843456540673641182709055896253141167046092220609370466478685935; - uint256 constant IC92y = 2998590709911644794553334231903990848010841006438085071303720415070642244990; + uint256 constant IC92x = 14989336673675528559706636852756924428252703072675438314477780183381704512906; + uint256 constant IC92y = 632591240888472984826623492058345873653291042859199489058814953900972268294; - uint256 constant IC93x = 3100670684012354968142548754339409616124394261333300597186759543643537977704; - uint256 constant IC93y = 5653949714850389511912844724703786201276328830106331632543453250224515958974; + uint256 constant IC93x = 12132722795967249465279520043170090893678028870116552562209593423595729506417; + uint256 constant IC93y = 10682544781900946793547406334808311910817665569763739325160555293906762045858; - uint256 constant IC94x = 18279623282514421263615807019661967099392480444301728363160695373346714461791; - uint256 constant IC94y = 15909911032904048431882399556833480353219212752477818486069671596655698008098; + uint256 constant IC94x = 11854931353724869974691784657728935149569622493234681079236372509809321282561; + uint256 constant IC94y = 13516023214655894850019722375891173020784233485151793796195273397894067373551; - uint256 constant IC95x = 1624354144366023301343998377738757684019822708447075626764041443311690618661; - uint256 constant IC95y = 3293614553329473790025323083778755639692257019025844423037354487612880828986; + uint256 constant IC95x = 17955105816093985495272377827042987392011753857282721962775599514772070032522; + uint256 constant IC95y = 5315777106977045732840915053432803512436816471347660229614194549647903560919; - uint256 constant IC96x = 19516200069266880644535003163630693526021862665897532671616481079510381196779; - uint256 constant IC96y = 18810305309675823704919044671093109456932316756823317883575530024476293567305; + uint256 constant IC96x = 21280697983798885637142119713187110624369080705701559372765988157870067465891; + uint256 constant IC96y = 5452759137926974037780608736295545534192642906733024880788600761506212446885; - uint256 constant IC97x = 6225443160650609947497945349441179833177484489632740055317670545983689812189; - uint256 constant IC97y = 14374359666273203356436161015681806386050121767229106931098283887428512870836; + uint256 constant IC97x = 3784705338562791851718284981734562612897771485306119414849092177617763833998; + uint256 constant IC97y = 7449199769838683142437006267260919162040340629873760741935077490028992712155; - uint256 constant IC98x = 21116900684263962287551474266041473639710673982518850644377861741931501829806; - uint256 constant IC98y = 20942936276132437977541187481144676280063001700149138937936890427247227691845; + uint256 constant IC98x = 11128519974327278251775248458869851491043094896202212458055005458912537503911; + uint256 constant IC98y = 18197826787442980785413660300407709344968820113969024954009668875167752269382; - uint256 constant IC99x = 21743464782683822735399391589185686414341315122288606146108363580309708917576; - uint256 constant IC99y = 2018388646535398921915000439398620625106702913362010910131711421262465435170; + uint256 constant IC99x = 20880011838831963202676642507268807787389940255367855446316957814198157270837; + uint256 constant IC99y = 995140599167856653071101801002368964738117801429978667228080014989269703045; - uint256 constant IC100x = 13502708181191886997316713063879344071723171559165690804258930247542111062622; - uint256 constant IC100y = 15289894526479337736486336662660326111283940160348129468107883964256694572854; + uint256 constant IC100x = 5270567486490951490796886598104633502443706965519010334864261607610694913348; + uint256 constant IC100y = 9422475262503254393663745444981821684525276776945928473737795737382712824125; - uint256 constant IC101x = 5773140365203914028039021770509729705417034013450086498073613046923746002512; - uint256 constant IC101y = 16394879513597359596925690343730698471359740257223310202814660499915334887723; + uint256 constant IC101x = 21265722279024099148523766897892746679894842319697113735019100063478094422873; + uint256 constant IC101y = 6620543609391785687489934470186702585776266891747209929387603461842185258699; - uint256 constant IC102x = 9161392031804917364180560841719664740903442409816307372389793344846863460025; - uint256 constant IC102y = 11910988874170355457952284900422055062538420465389605609953218450887094591062; + uint256 constant IC102x = 8356671823869469995710060566119210171556583886108076411388968756752945536931; + uint256 constant IC102y = 7861581645170247438970542498978723016898481469721015321549999270761713588004; - uint256 constant IC103x = 17462350663242948196024992388011969543400793032307005402146818235731222788828; - uint256 constant IC103y = 7652745572543869102091904190454546474651392963098199032616714248383551132332; + uint256 constant IC103x = 2219990728591225556213736638260965963780684712317673587835861222016595068616; + uint256 constant IC103y = 10269021258403216121862415692939917461877149536269690227014079002753076507361; - uint256 constant IC104x = 2784400783267617601926945593244486447485959024230157406350600020222068514559; - uint256 constant IC104y = 17398376234061707451762388655977373858620748278904707533477326447183628138439; + uint256 constant IC104x = 14580148566631896067770831939653021691545216844790381212089900709380106918453; + uint256 constant IC104y = 20501919652511763151981504986608593747923248586668557348411110573220315655616; - uint256 constant IC105x = 12097725807837544196195588675404677707018171528889276246825960670646183997842; - uint256 constant IC105y = 7532154443724469932067466019359770257331948249041173390213775046946682044007; + uint256 constant IC105x = 18729024808424730044351084970685045809826495359892127116460545529849095538227; + uint256 constant IC105y = 12968320440729229483198956917616010682663049550910000611391562097154016798471; - uint256 constant IC106x = 20077888575212968033433905351389341870581319883690554849816870051347108301446; - uint256 constant IC106y = 13825932711690206685798318858405095176747033498238440276869727140102077766284; + uint256 constant IC106x = 11633693999390950074358136432544834372417801581246923760019957499340218274747; + uint256 constant IC106y = 16924427024437729256942085295095493325410995366481252079741924577348100514895; - uint256 constant IC107x = 2557009863935539124440444175952744613636316221921593236683168366027505232927; - uint256 constant IC107y = 18115046894593959638536880465256164863995949222725423135923295588197425816309; + uint256 constant IC107x = 15651506419857979709906784969880412886522561309603310382432383815555134191990; + uint256 constant IC107y = 9319009381981849794603913077074589119230032673113666585354093368483735632910; - uint256 constant IC108x = 14735682162751849675604225314244737230380189912310276084057341540672960955634; - uint256 constant IC108y = 3258050244185347765411950491359954951774241596514281770699275736798694098069; + uint256 constant IC108x = 18097737218798509982229701131079769616116039877099227004175098946637855263867; + uint256 constant IC108y = 13310348436211221988917810325982166584533851478176851791098703876762982977111; - uint256 constant IC109x = 5893305612548375868817817323962812843687497574698353284493480359133331598021; - uint256 constant IC109y = 8605121411925058247076958970463068238644692272472344324197489710078082612365; + uint256 constant IC109x = 20263376377722422547596258747762021010890229181759643183394443847122275127111; + uint256 constant IC109y = 13385137344972009114628459093755716876191588690333688109147683042694943299699; - uint256 constant IC110x = 4024680915624335053865818736378806033400291123327791809486550385777680867736; - uint256 constant IC110y = 10429528687130879755650027413949175147984204185249887475109543068891483891057; + uint256 constant IC110x = 16963172143668705358882629453770655686813470136346382178514668338616325539769; + uint256 constant IC110y = 5636451568897648567513403019792364137696517288193506663254309980527449050956; - uint256 constant IC111x = 19692876542629295221819554407315926163048146265681987336617454253128850005487; - uint256 constant IC111y = 21300287342984937819076816070426696200120746263824422254897642561211466421103; + uint256 constant IC111x = 16510645084152319573290551726917780950618701992535537570251952316192742579460; + uint256 constant IC111y = 13506304882837097070117828399221004809604385183950149021633241303328925801198; - uint256 constant IC112x = 1164519584009728404318542542458544593323474179409249703667360884280903379502; - uint256 constant IC112y = 4934865216640649538942622939992368511779730934513369386707214682227997925600; + uint256 constant IC112x = 11313237216859224214530925655514038004254230888064785142029038351334216728122; + uint256 constant IC112y = 6657646205652029490541113007584672400680469407395238059721684246547813649134; - uint256 constant IC113x = 8205905809069196563100858764153448464802635588687799645628989777020639300724; - uint256 constant IC113y = 6982934729710244918842568165445133434592227196822960581461531338999086965181; + uint256 constant IC113x = 15127770915708186113651252454372481555207035970801428396271067473490172040148; + uint256 constant IC113y = 4093531429466030014718879366518728195225997011746759072595408754593936585723; - uint256 constant IC114x = 13750695178985857717244492770135730545265979582520118597953587307226490661285; - uint256 constant IC114y = 17495646185795840900271231818192739133407338941610196325954732744215691221114; + uint256 constant IC114x = 15140571546500497066764588098745984241259320734890032221755613973256437603767; + uint256 constant IC114y = 12801172674218714710722077459207791469726439623336083384301641968408875689352; - uint256 constant IC115x = 2225915496486157812792883847520118328142972166831184509489963760822617682688; - uint256 constant IC115y = 3401285905285915754385926534295439529329646480024435992170795618682896187862; + uint256 constant IC115x = 21142715496921478569975493597535609962988594279524489336991832383951339257856; + uint256 constant IC115y = 20258906524505037233591466147456348910388767922250589059543209862933625038535; - uint256 constant IC116x = 4716922875285703381493347934190542015732091657991046189628724328217369754957; - uint256 constant IC116y = 7009280363608304257294656968943597772700551152615504829582852507601327251682; + uint256 constant IC116x = 1810081628450798730640398746102980773904948199494901267187470851438251817985; + uint256 constant IC116y = 3792807751484653122046458783913892084541362360879682014708303368227268189207; - uint256 constant IC117x = 18650674221789443532180745751460600209994630125913373888417486739110393469405; - uint256 constant IC117y = 2359261148886091007529625119975858285247770452551892732772524410372770386014; + uint256 constant IC117x = 15928990967177821505599222516847389714295866291424434794036692012745413898200; + uint256 constant IC117y = 95097047341450841311486568279612857249022169370748252632922706896323805634; - uint256 constant IC118x = 8688628613155480998993614516713168425327514691460891201034652522460143761626; - uint256 constant IC118y = 15192326621581710879896941991724397097879304041252744761532508918650408197367; + uint256 constant IC118x = 18888273594504610323758429403283822059477438753958920656382310690690276019057; + uint256 constant IC118y = 17136596995001699302079185763216130717324024117025331595167613530548077143584; - uint256 constant IC119x = 10169276835081614008908455623723148057159397986474969294144351501052477116880; - uint256 constant IC119y = 4089838793865760961324752742665310062796854508405550733919368893556141833418; + uint256 constant IC119x = 14912069619262905015361101258468851252846849934234999045347338270246951816040; + uint256 constant IC119y = 851872911156335696323804565150018322953086666132220844585816674696295972874; - uint256 constant IC120x = 13997562374888233989791695937811001038544186525846714288558487382196470238708; - uint256 constant IC120y = 21405454779835121705579382974741099887657352783760003597481757172844509991495; + uint256 constant IC120x = 416905808465832986318702584784169847246758676455229196153867099970594014850; + uint256 constant IC120y = 20350330284501465078103167788671038758678470977058094284718267579108236742879; - uint256 constant IC121x = 1897728073013784828193837047416290778980164862215909192805452840932847383627; - uint256 constant IC121y = 13079305481540748398763293055797175652762747443305217545441461892235782864176; + uint256 constant IC121x = 7290145643762112624326774084837402473079698652556923211838999559508662751963; + uint256 constant IC121y = 15187890928845971858277816276333592675212162763795113811004081871927730015840; - uint256 constant IC122x = 17331128154534688581157969507455738750824098757570011683130420632147577149293; - uint256 constant IC122y = 5024462583100295495966799040508989209090757916186020635021438441440698718702; + uint256 constant IC122x = 18342834356053424863684322443393635009655628042775183518033772284556656452763; + uint256 constant IC122y = 17293184887758153646256537857817990744812160190568972052340680013613044017611; - uint256 constant IC123x = 12478767183077300839721168110011778209430472401871616330094382805819761507420; - uint256 constant IC123y = 965749679228561092825992688173810448924568002927786065192942663578973182997; + uint256 constant IC123x = 12429300666946196522834253629521246460140610505589945449195756913907643669628; + uint256 constant IC123y = 11847513753414560593374183391275089623067327608306823434797370516984887055602; - uint256 constant IC124x = 15025746492872994051742505541637857911396191094216397625211412651392786596795; - uint256 constant IC124y = 17641405555314607415094541891090608567067560059826351774606122352732778843470; + uint256 constant IC124x = 3009997495953098051074361389663553556038061068398882988993260546405888862450; + uint256 constant IC124y = 11839558563482439941239794862610327753017119734775768621461902358661699016187; - uint256 constant IC125x = 3471163823152835166651968978255619716714207766212272110674545666284327412865; - uint256 constant IC125y = 6589859372933894019070981219444248701000901810876453486896050309573639012685; + uint256 constant IC125x = 21168069557452305843540633304752839216153589328942574702460192381582875872176; + uint256 constant IC125y = 13303799669066434871022690722518618264526951946844123760115144657138704805620; - uint256 constant IC126x = 10769763538996124561500045737039134628523214179127741404252132466188775519796; - uint256 constant IC126y = 7731435316897038611602381578625669416211140049203378092508574292338987726264; + uint256 constant IC126x = 15701359559135387616147775220604626072130307648840932455969454078319549551774; + uint256 constant IC126y = 18881928023694089242372224493413319237815982120639399263703988668472221679441; - uint256 constant IC127x = 16863961278696846466218928987562445152453683375245910313211259017884873320135; - uint256 constant IC127y = 16052962571258667881149191214426494034158847577512068775032758447770815912929; + uint256 constant IC127x = 869462486452016634276733013666297011271081156844397835921213291275489933402; + uint256 constant IC127y = 6412103912614147582008051340970599994276376057390487642199212882022308028266; - uint256 constant IC128x = 20746759939203467966797161847282656878842872119513229329278600216599123595407; - uint256 constant IC128y = 11616152901402996933507958718335642840834489235675059538987011670281768627794; + uint256 constant IC128x = 2788705287713367617395518310410371176030258282886745200668365522374509575240; + uint256 constant IC128y = 3957091562119830819992975103204027390466784765403740152566367211777147469017; - uint256 constant IC129x = 17638746145844423563082988764048470863584378136138254845480725383648948975207; - uint256 constant IC129y = 13286392080045435215156492462681510971641667485116114264165823695122565735275; + uint256 constant IC129x = 14286184844200284268589869856398355685140125890609834536772185742863928019599; + uint256 constant IC129y = 9304939256033032197773841631251271475843563677846178730455260613692121807227; - uint256 constant IC130x = 15297574411514227611515453891186843804123931932281399925727479866939683867172; - uint256 constant IC130y = 17965059436676824672965753841883115804840731367526067552779246880866842196490; + uint256 constant IC130x = 9649404831810282505955143832001602990625612297968284032982830593235918929617; + uint256 constant IC130y = 5729762439216031835721884726279381007957543298000395149186665955022027106700; - uint256 constant IC131x = 20224444194372360823842192687172451925735235524875956619524734330611153002651; - uint256 constant IC131y = 6608404115932880869024279925765719426011688422858504251616037961164421504439; + uint256 constant IC131x = 2268012612773732796812844095679502758179479875582533211842659277399385448812; + uint256 constant IC131y = 12985427200471515155636681368847755685826337001754052626870068903548101258148; - uint256 constant IC132x = 15786588794426076074308737066897915738970488333652790210596137013321503429431; - uint256 constant IC132y = 20255756643363913391026691248688555925890274339963909654202620475301597157973; + uint256 constant IC132x = 10712224800055936598323772857496135258545300784101081559841051353775848743639; + uint256 constant IC132y = 112197861725835733001473658274002582880316644031234409084193503923966976393; - uint256 constant IC133x = 19435799577503832649883771714527591205240989755780322188611623816120822172982; - uint256 constant IC133y = 14029952788665958327144797808220349798871620212961905305381526738890811739389; + uint256 constant IC133x = 8630083373743375076204342310649830992333180188916208224513271048002099560; + uint256 constant IC133y = 20043143573646486823507889589559826246817433419442136575344292715031793527527; - uint256 constant IC134x = 18561598586900123620987642266356847669879643881674841532189252643871585011468; - uint256 constant IC134y = 382743190576626180894288509916250230364332354227005816619272197841954268712; + uint256 constant IC134x = 5916183212170258001735647820422397407382923022560673697573994997047331751794; + uint256 constant IC134y = 4702959735461584120134905808554552245434106374057460012014885754156648329335; - uint256 constant IC135x = 19703957940769098122787629913161539409936881454104713581900120470855543157074; - uint256 constant IC135y = 6790570194812299696777313225460437307823680849951404817226194644382296355951; + uint256 constant IC135x = 2290654453840367688894335718085865045933043398608541776318965814930608383182; + uint256 constant IC135y = 9717521664305702555739414239799924139073126208324206133543263592775613959825; - uint256 constant IC136x = 9553766329913671908777643687121702266060679738355765484007165890105139371094; - uint256 constant IC136y = 6188678908555208002459654017951554266856437505516288404434976852368000078922; + uint256 constant IC136x = 7223443315870805275305732387580466665422950423354870823875895138273108328728; + uint256 constant IC136y = 20847340448601320406303107072407793934154200432163445904780796229314806039648; - uint256 constant IC137x = 286468397906750326516972194395354674186876613312638029356955908203261700694; - uint256 constant IC137y = 20520718388754120575467712827147157540139214983530730496198802895070031163788; + uint256 constant IC137x = 2312239870156178693511469653710799236225060754018160406270422723347619128960; + uint256 constant IC137y = 2540728260668852449884180634282258930431382293294900642122298818160642240271; - uint256 constant IC138x = 4573596764997444120232925932080048234588616530875093959725037973626778900833; - uint256 constant IC138y = 19842818730100971123182148819879102646308617138552718146407186212584675045565; + uint256 constant IC138x = 17806260686896010661717848801949630963735737187752594244759202764625049109714; + uint256 constant IC138y = 525961754863518823008987296069011508923356330444249690617741656731872757431; - uint256 constant IC139x = 5397056070739777735003576750405394174876338795027790813295506447874940417396; - uint256 constant IC139y = 16264314232755745404747528333094450836052446370797578173931142285193110486789; + uint256 constant IC139x = 14749156860330514173412621452057023731723634632555130654950323356667939824372; + uint256 constant IC139y = 16866715032606557493407715696894454323945809587475485810757745581516840758431; - uint256 constant IC140x = 19381563673278202734926980571585747761322791030709560058840481750157877341789; - uint256 constant IC140y = 16823142273254240227711748520769257295541378536844794795257114710225849054595; + uint256 constant IC140x = 12964818442666347988522657627273268788678679212945711115694527734730009989834; + uint256 constant IC140y = 15681529482316108758631876252561185829299082016528726374051282959059076090998; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier.sol b/solidity/contracts/lib/verifier_anon_nullifier.sol index a302308..a44a4e2 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 = 2526153147111825271652475054685618536800479337827730131759319996774286854042; - uint256 constant IC0y = 19276795063001669301340971143202104271494569740191961224508860042262761542513; + uint256 constant IC0x = 12965336239355451065377728838263564336455832852756106285329915889367179910844; + uint256 constant IC0y = 21266717082765079145279107240791882967271935211887697534282840438802556611138; - uint256 constant IC1x = 20558041691420506575832567123686249205121781713775569640492350118632707774160; - uint256 constant IC1y = 20474159150572329834032068364439534791666193292408646948278804494116010112006; + uint256 constant IC1x = 20415096428409244779003058634997676197645321938716463349566012895685648563129; + uint256 constant IC1y = 2504850739252174842588245578954831308407351753661546676448248125715996228551; - uint256 constant IC2x = 18295612446655870340888041346081823726537159102480297777852235583097490929233; - uint256 constant IC2y = 965095848747592277682404026081602865919569099651232087512762458295025330289; + uint256 constant IC2x = 11538009073536561162431603046042378506434129710246113579796569619470355977356; + uint256 constant IC2y = 18200656560016022729405688044864673805927167342575989505621039477255562885095; - uint256 constant IC3x = 4603580366449945605591805868062260208328328538492258056519855398559874250620; - uint256 constant IC3y = 8240927279373619308873966037272009187966593921287239468424410342454516115055; + uint256 constant IC3x = 16060424900281789113856869053727496302295520075201955371229184101176742019112; + uint256 constant IC3y = 7833246346420318094523191406657909832948492362877179000610063345430143769697; - uint256 constant IC4x = 9717810072312429202051022559074264672960675999521442365706370192679078116426; - uint256 constant IC4y = 6052182684357593361261436717875144240084420391725299940389538850155360862817; + uint256 constant IC4x = 1167903139320461673730146790352309165100002152797819099757601178981873676571; + uint256 constant IC4y = 12981611873802789105958141408359145370994325864169284450155625189242411024122; - uint256 constant IC5x = 1241605996683624404299693905756616945291594033419738727783948857531200268966; - uint256 constant IC5y = 14438417672522269667184399112538154493905472019625451922242641113544553102294; + uint256 constant IC5x = 20773020415848698598468478160768655922713869022241397741152588611764469765759; + uint256 constant IC5y = 3428403864418547287693751509569561378183428598972823612146679585580293690972; - uint256 constant IC6x = 14995977654992000305684731816837728498018052697554514720654248137948172193839; - uint256 constant IC6y = 5975367488688260548897221818714183981963303849011818273909565727101895419915; + uint256 constant IC6x = 15674579346918082060062949471055203685989363986238424085033128428743473529013; + uint256 constant IC6y = 9126381316540146842373796334750733369806543224338767018342599704279030186328; - uint256 constant IC7x = 13125880797644292838466115256884035764193549939113450516592178953762537832260; - uint256 constant IC7y = 1020758836019492767823163826407902850832540708209437346683677609223415470048; + uint256 constant IC7x = 17375655877097475551894724405341759891777951116707914297938348038970054234761; + uint256 constant IC7y = 17844212665933336469595879705672773898766845640145736759052525282105784315179; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier_batch.sol b/solidity/contracts/lib/verifier_anon_nullifier_batch.sol index 770e627..cb625f6 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 = 14690425847737190490600050249813402456279799734650269027145261462844549991465; - uint256 constant IC0y = 12355943016630694158348917747022006615202524659576950063254060333880897276360; + uint256 constant IC0x = 3786337152979887935099922637610732435638740180631820266063400871430402819633; + uint256 constant IC0y = 9293888847757937224374675180243156496028016761458128254498241806218092283284; - uint256 constant IC1x = 973439626785668747061763033956563519440367005580176127380508848086894487413; - uint256 constant IC1y = 15850514111119225793921755949261914011395006749480680308104108837250267282650; + uint256 constant IC1x = 2613326286111734591920494781775404750800304710938135531408987571374322636490; + uint256 constant IC1y = 15599982638027111785400180927837455989431309291889428933183044772699472077158; - uint256 constant IC2x = 13155203050208195669156695648367713267389515134402590760248478617517686577972; - uint256 constant IC2y = 20554844102160961562430053654277490524644994265293579484955811514772946178683; + uint256 constant IC2x = 16577993132868602998944296899128487697327667729491435579653477781242342301582; + uint256 constant IC2y = 2524212847300776057727191915772340752762539183852135800787520910658031375054; - uint256 constant IC3x = 7387613039317590804009988013164857047469017666985496797462802705836796224199; - uint256 constant IC3y = 7642394480405587447429853848799417236467104932175882049313138856438235924485; + uint256 constant IC3x = 20040887994401253595825133344933456147331129294970552947753411515738441266393; + uint256 constant IC3y = 13350101555336249413369310159368828948659257425595179694752297203884523137151; - uint256 constant IC4x = 5312683905205363022462369392552008345825622357130101809067078816353415269757; - uint256 constant IC4y = 14195412313555196958285044147142827788108766075255382554297553275404593989127; + uint256 constant IC4x = 3835897719819172867789687275271946242413422418832560748463432272574383521210; + uint256 constant IC4y = 15759770002750782637714363472718455211083945324772437470523464501949892900096; - uint256 constant IC5x = 9288623343750131011592781037011999990000612499024586049986786574697554357733; - uint256 constant IC5y = 11362006443624802817711331016260584967472494745582127886105019976867823145354; + uint256 constant IC5x = 4018858923492592777296344361624050744014513206229118070376542084019846841807; + uint256 constant IC5y = 5790374511688402166345858094674381813010855323998186248790514067968943857446; - uint256 constant IC6x = 11578965381901395714203406075453776320272805420533478497669657733565305987793; - uint256 constant IC6y = 10207336791172177164533565882598339843592087685535791920502230626224882182762; + uint256 constant IC6x = 13873559922151226100957867980347509468952249076980605433281127781428766097016; + uint256 constant IC6y = 17079366533756232245123856175282864564258650838166619492494036173822311699256; - uint256 constant IC7x = 15808281792574842554259905197879576797250956578783592702638196207054415692304; - uint256 constant IC7y = 10864196820924352020862261198905278706919705698335119502274306755004660689004; + uint256 constant IC7x = 16371447740332693294596939846901724995658056220386213757285155147042238782626; + uint256 constant IC7y = 8441385500686996976963571708256109269735429647300706716030147768888817742475; - uint256 constant IC8x = 21007242079792335890065165743052917167387979047738498867462032770730808710002; - uint256 constant IC8y = 428094048143102273316269247946342191367400687664515640929517084839224639138; + uint256 constant IC8x = 4560522697137283176450890812573836160569409490301477169775874986836663708157; + uint256 constant IC8y = 449433852899761247480194932861711485558356640416777131258503326999604740449; - uint256 constant IC9x = 3738851691266794001175198797223403425726775868750629039449393059460181722950; - uint256 constant IC9y = 4939270018523610294481140167251229840060269577632945558071212610554537257062; + uint256 constant IC9x = 7536248152275225891722762972883669170250475859678077224420797876946631906429; + uint256 constant IC9y = 17980036920981102618285771583381154035490089785743525159141662827387261123876; - uint256 constant IC10x = 1082423131062341268452908332023960162277056835086211595298432948133404783052; - uint256 constant IC10y = 229864084259215928597335148113291835696982863337515784461446824589331628888; + uint256 constant IC10x = 6520359164220525265155386274709266517766289259436803139853734621791509514404; + uint256 constant IC10y = 21368162840781823986174234261008274176487028095574542697455308297011056522636; - uint256 constant IC11x = 1341317534311890495862806725095733861559086694392409351535133016567521581300; - uint256 constant IC11y = 15929087499972165447491837803548880552123398466833064130010491028076445776831; + uint256 constant IC11x = 11986049124283047338689275016354659993085995403687773059614159878672406545037; + uint256 constant IC11y = 1720839942816430712816903108884813241869643182010336846593958574729389440480; - uint256 constant IC12x = 16483540421158004886702412011005278690315166478274709687432472246282659415995; - uint256 constant IC12y = 19564739241656077917367650496489160194296949649697248375163415671850699328627; + uint256 constant IC12x = 12410983687677574157893657225675183803303132301532659422552214052530726469317; + uint256 constant IC12y = 17824345118891411719771382010799290239467606961339235068922789659663655509754; - uint256 constant IC13x = 16104546169460564107741007286401970239350826268556769139029325575239586382698; - uint256 constant IC13y = 13517999757390186397597605670674420190734881940683461897289604053325715836553; + uint256 constant IC13x = 19444872974172689434561725816869098654627826005137317657361016988886067248336; + uint256 constant IC13y = 3172141317144739547875932810700616635313442420128093386048940765681131092361; - uint256 constant IC14x = 5353453675093419432863107854995069305147268033019719512610502047341154647830; - uint256 constant IC14y = 3252634932089237054650711722047195033191911371039012174381950637388774057516; + uint256 constant IC14x = 6341822874573516725445274172596187511776250848357140465985666938085067778605; + uint256 constant IC14y = 10990036049763065187228663840382596985383914188335629682023429665320288002265; - uint256 constant IC15x = 10857066642674603938827131152375591808325640388334826700338961056548535156531; - uint256 constant IC15y = 6543347057749764408058890158655489700352531787298568537495865248965746262053; + uint256 constant IC15x = 3563685232497885739427596637416450424787463707609627934104367359850504982303; + uint256 constant IC15y = 14523974417703319423058515825317379629896605049279696879645515541999709097899; - uint256 constant IC16x = 5554695372166954876322098202748619376439653430027691495614539440724382377225; - uint256 constant IC16y = 12824754595919557394401232006722068103218385747303769220848114775762248656114; + uint256 constant IC16x = 10426055994788300403026220351488163197517295733007869321776166355731683467471; + uint256 constant IC16y = 18175812088634093492623689292236125764292351272021854381676202255919008010343; - uint256 constant IC17x = 2897194952360748964001216023312869631418699951253972532284970980501560310284; - uint256 constant IC17y = 17869432893494988290097519261337840470629337589566014523017404245207234666653; + uint256 constant IC17x = 3950389660730108543529631996339492738202948080219082719068949318015974186960; + uint256 constant IC17y = 2727547245375504168114490191114505397213374496025773532049654614435667570690; - uint256 constant IC18x = 1877445382493035121296381810528414270692189580836525490558367440493138548254; - uint256 constant IC18y = 9302698438617044942198763308107474165630382718709126154778797907945709504422; + uint256 constant IC18x = 8878853611820647211708603584241467289939654374955042014923131062893095601257; + uint256 constant IC18y = 13640555931452954554478583351999961428703214573943103283873522300398348512261; - uint256 constant IC19x = 12719638026257757169103735364490395527920872538259246035205426207516439117186; - uint256 constant IC19y = 15659847361301868818525762703953196476523328902107738173324073752615684359466; + uint256 constant IC19x = 19706318980768223269467987992862357090252614480154835271757186053712302707054; + uint256 constant IC19y = 3550479890941383303746854615447654371345839372883939502972660199314609198224; - uint256 constant IC20x = 21379260891305341512198597450588670395584255109028387829669698539335326839399; - uint256 constant IC20y = 17722834605715418760616536025948138190765108727399536971614174237326172494252; + uint256 constant IC20x = 13754703141709110513251981557546245368692890422611576710774721290436667971547; + uint256 constant IC20y = 15622915412029160187321643908593105738313134938831581567824879502136844415106; - uint256 constant IC21x = 4938717796933361424513195707162235071113768980929136385813547798734552041205; - uint256 constant IC21y = 3117258020212823158357400262823825559154139599011927310689753352783945664762; + uint256 constant IC21x = 12878657066345957537439144048759746489348595042995392127741332409892311328989; + uint256 constant IC21y = 5634533423081799906181954901378182109129522944123920261387973446573637973526; - uint256 constant IC22x = 20407280859881149731270203000708436098839340720789188118741495262693344235848; - uint256 constant IC22y = 8116406100602395577318380789343563839030476181735774007770067063140002361239; + uint256 constant IC22x = 1747558549104994006853755338447511580410928014353375959457633482435305339657; + uint256 constant IC22y = 16693561381938465114233116706143740771384240170854874824494628919950181351869; - uint256 constant IC23x = 8394416751860763835715540777793815552800805927981961817300267287832845564153; - uint256 constant IC23y = 20602001104727375343732975807642593092086912579174726400547925692479336382280; + uint256 constant IC23x = 1613138279337931031857254936115331776171624220704338069120610390082066380417; + uint256 constant IC23y = 8417894649949518720347097876791220132985676261354432557373036131639583799446; - uint256 constant IC24x = 3807389008641049643153457068711041475953442325051941994946756771009815070746; - uint256 constant IC24y = 17238922584425250182361555037290613213557480732552513226535537244934379444094; + uint256 constant IC24x = 15376107650432532562517675238879931109183652385872341741350057207069919760677; + uint256 constant IC24y = 12163613282894312110952413452590943793689556977608429079525501424245210898987; - uint256 constant IC25x = 9512884880721072336763991784432320781570665332909354721898443957947318440113; - uint256 constant IC25y = 3228978241035529797350196821091339457671005447319564922021800553842067740684; + uint256 constant IC25x = 21087166981062958259825865347134564875926186819875767696568317823488336917896; + uint256 constant IC25y = 15762649107811141917603699122632018793639916612208894025714649072338044075586; - uint256 constant IC26x = 7431465475683419725459015250386300451327128713538171557994539840682629851856; - uint256 constant IC26y = 12442479355705915307933125864371393083910309134935925393653030404790229633619; + uint256 constant IC26x = 5120686049886825058445452951254266343462561773672356770732157430858330491691; + uint256 constant IC26y = 11046045856891422237147253594749318345951196586790871800156338688334664797048; - uint256 constant IC27x = 10156016800424647673552003993687020229906070700081453017445343460249018650881; - uint256 constant IC27y = 4518851793924376352110648082167183190010585298730345169476637640855632518146; + uint256 constant IC27x = 11116873825396655991389216659269585145620200225791557320551530972352228098831; + uint256 constant IC27y = 3271191376177107978938083722391105421120848315078198802353087459617997426104; - uint256 constant IC28x = 15892549484204945508692176817293608064781942552954879658724896127227239668867; - uint256 constant IC28y = 18511944036213151754591118324685592475901456447057959793385354191402442026421; + uint256 constant IC28x = 21019143498004400903259766749142372667153376608389483897878881810132865116542; + uint256 constant IC28y = 20058271295969084519220780794685774075235178554301385873847280275673893710867; - uint256 constant IC29x = 8412782548750992651107079179280549637477812989063803930397021437216171679498; - uint256 constant IC29y = 7252527078520558148796384236322319137623616461000603349054594769114760455303; + uint256 constant IC29x = 3088320503719486244878902559682118797941031906918592703374618231044866477933; + uint256 constant IC29y = 7957746217390961233365848173642960838604761579306585693479441876449511811100; - uint256 constant IC30x = 16071214977548414533811649470014994518862502423293204796699102887139111597255; - uint256 constant IC30y = 8231756121387009610914645315378989643033237103714992735838851431652342012368; + uint256 constant IC30x = 9265264187620997738961784598279326190924030246353391735448996655308762594393; + uint256 constant IC30y = 12870913899766817882209478409287941761615618579244334984219588810560763939529; - uint256 constant IC31x = 20707079280093901951291875046505694374940268614290532793311819195705337262532; - uint256 constant IC31y = 15889403409602591365301308819954060279825745787110811345161780014062126948317; + uint256 constant IC31x = 5254797586690949845864066912241731823062919857632449946826426119537257133607; + uint256 constant IC31y = 6442862733198819845417622717002423202646999126954588221448840906596194569308; // Memory data diff --git a/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol b/solidity/contracts/lib/verifier_anon_nullifier_kyc.sol index 7234f71..2b38550 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 = 18123553351482973719688179313478140330506202775488937708019236153134504451219; - uint256 constant IC0y = 16997829253969207940523709639057222762827616969787461147387425617138781908566; + uint256 constant IC0x = 17336513663167332377949169478575466284101907029078607810833872321788374659601; + uint256 constant IC0y = 10397020245967735952916558183702669414774017177600319015152617686952244560097; - uint256 constant IC1x = 9553187017341114396600783911442981141358391549987081274899168475558288071206; - uint256 constant IC1y = 2284138698466444683881738949288104825631324514966952524424820205560095888825; + uint256 constant IC1x = 14502254530076089964675033671517993862419783705089359180705605116873724842019; + uint256 constant IC1y = 9049190990509151956509627927047158802465613185726643157556086701266946091568; - uint256 constant IC2x = 2367201567455515348768653878059827719162852137114440905559951962597164072886; - uint256 constant IC2y = 10005927772316916494723434684764823216004168106831937092067507361479164970551; + uint256 constant IC2x = 3455128039314231841012773119366413118715790719104028464745205146228319556246; + uint256 constant IC2y = 13175890403996370630092498196483049850968580675778268285842736204668575597675; - uint256 constant IC3x = 20060065545343301036999536430317101355569421687318144671582981812588811037380; - uint256 constant IC3y = 9885707302608442062822873336911771069179335246874906294661872034030839807071; + uint256 constant IC3x = 21609063410160746920311288333521282110904871128213587386326528382033849936047; + uint256 constant IC3y = 19053685498975284212451452487100951511472691870576100676350891466084386725324; - uint256 constant IC4x = 6929671971183308001719852566193983904296527887042581041032444586875953329823; - uint256 constant IC4y = 6075928883899395143833554022120971343083236204573831570908231714212527502505; + uint256 constant IC4x = 20839558467714218135816548507020277920013840149039689464195289045825016957066; + uint256 constant IC4y = 18171040984983395519673410253443945069876908714083596530196234237277378369754; - uint256 constant IC5x = 18560354734452905947995876782291228067649203639645281699554150678248686609487; - uint256 constant IC5y = 2597248920776569151432168397681469064239673614682028004020264765340400159490; + uint256 constant IC5x = 10186020517678246646201919013132136611100376409259802036221169773081382803557; + uint256 constant IC5y = 2024398128793281448742186646024870038510529605597905826731951443459182184482; - uint256 constant IC6x = 13933672039555246525648568152409400679323220294179813129371285277219348160739; - uint256 constant IC6y = 18050684036447430269858847862127206085431495216331559041440932459341763591785; + uint256 constant IC6x = 6817038550232615580081523910729732019328824723898271013459916846209181496148; + uint256 constant IC6y = 5007540534237292740105202068038033915182587070518049525579057126474202747048; - uint256 constant IC7x = 9081357568749337875281940542789401022048074929577648797441122216851883857810; - uint256 constant IC7y = 13739739564359346374542786825162592028283748718905947405084135584277517264010; + uint256 constant IC7x = 9672280002529117458221100657711877410026000365131526255571070587277130104994; + uint256 constant IC7y = 8600285172183660002776649258511861921290142756223662537727755349462907425056; - uint256 constant IC8x = 19270749646336802266672011059977367520106977047226577013370448608487022163211; - uint256 constant IC8y = 966495477952102982491726332113342060081053862489591676156174612158433860981; + uint256 constant IC8x = 21090833180119544777441412377177995972112553132880250907146360470568389276832; + uint256 constant IC8y = 17643666097863395616263152084290402410806471541492999210218290396458240055652; // 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 8ecf837..b806e45 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 = 6569430588439877366527786609386328757691001219784351110757163414976967760496; - uint256 constant IC0y = 19701795840659458217627552317990846281708656250569079904094563652056875210649; + uint256 constant IC0x = 5903479180487694997279265064344131881874542681454350742852120100073440524296; + uint256 constant IC0y = 9530657098554586749733666785385875949917582344806050500162894090355413522611; - uint256 constant IC1x = 12945827806291586309087537362460183393843928214650649891353470663949981030504; - uint256 constant IC1y = 8932777582762148771707401553533261363376771904533681848350081246444752874642; + uint256 constant IC1x = 20973102971231858407268823830547921302985922314772564832818590542439356456221; + uint256 constant IC1y = 8755463976472172454997983726165070757321336399692622916062903478185835201876; - uint256 constant IC2x = 10623651636632220785753346216025555937925152224093250136734721725161955553061; - uint256 constant IC2y = 2597552069428171869734236995969529647600435237310598221252962321395245419878; + uint256 constant IC2x = 17526751735834480101264016483328365202855873905596039358244611690496383169381; + uint256 constant IC2y = 19471421123818568632786393804346662846532826068692835523015112968845449782837; - uint256 constant IC3x = 7635723367127694102263101004079537988095295496595834034241272884403218961193; - uint256 constant IC3y = 17494904972347995837709075349497627115022448426720751805927273610178117244408; + uint256 constant IC3x = 3539748145202926178617311013596015645546621712094449177218775970412840331990; + uint256 constant IC3y = 12107775276152948776165489655192329079375808485402641019338912689660992652639; - uint256 constant IC4x = 7206262815948023259783945121109787762355582131093803336150762939970851415706; - uint256 constant IC4y = 3692263523790291805456195389183989538256075880195264132183156008641028853209; + uint256 constant IC4x = 10736132798369970949317591880421041650057251866854449145769798014056707582400; + uint256 constant IC4y = 9086693743465940414222843502454124169492399568586435675372053519657938027667; - uint256 constant IC5x = 3249742650124912741431290225562493391858058885426598416077062246641393541202; - uint256 constant IC5y = 12182493959120910993185277595510521866071346067218317610537406543204436540256; + uint256 constant IC5x = 12425715134565817955257724101559867268846011832217311339913736232262680480585; + uint256 constant IC5y = 16142750039343766472981827121627520729505164201659292781578940159554138118192; - uint256 constant IC6x = 19399629286388729337006925058633225637431689483936939692376025031208969295794; - uint256 constant IC6y = 2575814769691915382158209280837784150408525658894339892187566760085815770759; + uint256 constant IC6x = 12006435987609063305657955204304130887359188491414522470083767433434906438697; + uint256 constant IC6y = 458423307973335590408769742998544169851369310753326352756852767731137356765; - uint256 constant IC7x = 7145030778227723876773183231723855591384081609880943655449668561650021847349; - uint256 constant IC7y = 18431933505566318397538276541529258152954659487724451074075182663101860670671; + uint256 constant IC7x = 4360502195945359224890359403296421498543274286794431551192530464214184213036; + uint256 constant IC7y = 6077490470642740655603314453740752926435817176771799958915136065070082008178; - uint256 constant IC8x = 14121490205711368432724351844392057840710731241934651490392648457275809879077; - uint256 constant IC8y = 3817877641513085626250539750880532913618898900537070215790162086064594253703; + uint256 constant IC8x = 16580344970308070849104104853313158021715014518923556141289343560126714766440; + uint256 constant IC8y = 1735370040403212368006858236286058201634946457464953807044808823314333576501; - uint256 constant IC9x = 14521042375094556087481158410774453529910040590856897391451119261874157951401; - uint256 constant IC9y = 5987603852882230316443858411928565101771873105229299008803394361465085376167; + uint256 constant IC9x = 11277842595314006154476847746796065571660929661941608012290181305175139250956; + uint256 constant IC9y = 14010510022143235230713910523185405080140344333173500379192481888872864784779; - uint256 constant IC10x = 7877210241238626352534782708146597544416859042112588813546078025497746762639; - uint256 constant IC10y = 4488960775353546849514798426844292049658739652880016252759201723296818722954; + uint256 constant IC10x = 10027027914330943530569092473741094434086563269833520803780904295572828067751; + uint256 constant IC10y = 421990751027288915733155885330259124989116330315517655643992915427432279442; - uint256 constant IC11x = 8196831921956009582136302857785303839314199397205962154706979401642782672144; - uint256 constant IC11y = 2464415412278735525053752289849974278015039862957407236936892777656602416022; + uint256 constant IC11x = 599244215281404141046456725437495318313391113948484631072822414812570716776; + uint256 constant IC11y = 10068255294045654417350386146388876221615727778457099371804026702882247474491; - uint256 constant IC12x = 9618611458768968316596303441169163465854652484079730345378867349054625546560; - uint256 constant IC12y = 17713065231553587001334449906234793449751895728702084156424254269605434434369; + uint256 constant IC12x = 21556964792859825649107667215781058705147965296731829911281160087820610838533; + uint256 constant IC12y = 13889886910952233505246502579980063028755614337122208662602852777579996569369; - uint256 constant IC13x = 11923411540039701943807453853530402254884128172615068154225050288539205394835; - uint256 constant IC13y = 10638753812453059872225237236545824286081056624854279203224533655601040290284; + uint256 constant IC13x = 20336517095597583565227873677117826914448174923218395440417472253759155911879; + uint256 constant IC13y = 13787294756325562052369133551051867132268321423810906151242602397719118060605; - uint256 constant IC14x = 5364887122808703583686140582582871715499542301104855343077911842623450833613; - uint256 constant IC14y = 12433615932553523377208857396109862421829459241688667324735642225913673082454; + uint256 constant IC14x = 723470074228247172376833529746853811390760610497044842304414745837297007793; + uint256 constant IC14y = 20473431670688220490381842545562296561006547604975254617604046916777297966342; - uint256 constant IC15x = 11362138669358320692737938970489777744791078072687798787805288147061568884189; - uint256 constant IC15y = 21181268189514937049538784434774591302268103522590325191936888065750135595338; + uint256 constant IC15x = 15002382818055737103129754932077118357634513012564080449864984893716211852169; + uint256 constant IC15y = 20986355934261372161815389867821841925843222171872598595602774389117273842363; - uint256 constant IC16x = 20171480061316560128261932356128655053870296250508707984152048719948019416058; - uint256 constant IC16y = 16469912182119429337346216669322189895484812892424647552672781336980342427947; + uint256 constant IC16x = 12194141240267141280402887975844644072507435166373817904521349435520239196563; + uint256 constant IC16y = 14593389642349486216409486354692535004279895256912795030101019816199908203510; - uint256 constant IC17x = 13435981607437835176038298564532402978524803183795362167985345496485816989396; - uint256 constant IC17y = 15850251220438716720678604349051000992661965436725416764994919865994866270289; + uint256 constant IC17x = 21015394223495022989411464000109008933122362273422924620851048926767533637678; + uint256 constant IC17y = 19949217149297160174771427449019144865727740578144251352593703549274424714243; - uint256 constant IC18x = 11811704529904171197302226112517616476696081278565166583889376612260805366770; - uint256 constant IC18y = 19019390331791751281804943125396296772002105299390052915790201437866279662469; + uint256 constant IC18x = 3943681362690863707194051007800503356665352728683045015484432282818996793654; + uint256 constant IC18y = 5926512517402465313700496622240148434683755798658418845914485987943511193577; - uint256 constant IC19x = 3761471756023907823753662465802390456071662791601109601641361679956352187681; - uint256 constant IC19y = 20162842344003073985846811954950247779528182752114757276021318353919250223457; + uint256 constant IC19x = 18521510625410973039043143625576116776310762869742273135122587764220766348395; + uint256 constant IC19y = 7566293396936121921157226464680078121529744119588821801602132955535815373956; - uint256 constant IC20x = 8071737940013135701818664948073246488373061515317448531046144561741451109185; - uint256 constant IC20y = 21249802238872385794052754733935006016288143915502543365592840846555221479621; + uint256 constant IC20x = 6955777603382581542780895326909850846348823267515133043834193460373252526587; + uint256 constant IC20y = 5404988211516657994220064031142977435521957627605222735616136075971916277477; - uint256 constant IC21x = 1723680139370666935432299119241451157012312182480235360808229176603937596859; - uint256 constant IC21y = 8164366164883561347815095120721241648189233554976540427493558095838306440753; + uint256 constant IC21x = 15342762311956869996626100728582941890438868605264297782193785457846632248470; + uint256 constant IC21y = 20548254230250891011773309995179021079622280572238402743503817964378124498364; - uint256 constant IC22x = 689162672330801569236860417513166829127154851999990636353535831269200896688; - uint256 constant IC22y = 11200584681823644754861106194748361242875754624399213261000378216461858026291; + uint256 constant IC22x = 13468425754230748688976754818188805414992261059993406476820218042607689692919; + uint256 constant IC22y = 19259260110764955907957588951746942381445285741917061612123980235317042412735; - uint256 constant IC23x = 11132480191379362674157945793411833650393405623591215012860767771391927446355; - uint256 constant IC23y = 10277738761608980247730521899394951892428405977105154597348202031123885219627; + uint256 constant IC23x = 7617190663029341979667377709868897026767966101370820487323419742367227464607; + uint256 constant IC23y = 5828305386936705254095338960335559624881719900670519001227372129217412593638; - uint256 constant IC24x = 1354010359951883199790977489723895500507371930668360256318460940352281683644; - uint256 constant IC24y = 12331331943282510326157833533439183364709881220201144096863857222742169515625; + uint256 constant IC24x = 19149413451075061406036034331861834406010553383404615574802306336889836590275; + uint256 constant IC24y = 9477087352704683947570484182823100219649648425336029593609027362914899796882; - uint256 constant IC25x = 1590725216690146167317215389183918336927440723269966298715652851810883950078; - uint256 constant IC25y = 648789650233718983137868002717409751620582801629138464278675991230484864236; + uint256 constant IC25x = 7458849390840810649225684326404357042001194061988724602214310891606424306819; + uint256 constant IC25y = 10597359029377765811758852800451451553074982025943987922238070581358117884136; - uint256 constant IC26x = 4017263919683246039531103614452508414327439699503842445340340190257692581622; - uint256 constant IC26y = 21085521370142183058993324041411717678642788883068145103769278269356952046488; + uint256 constant IC26x = 842696973558123879709109182614111148322768473432915344493046542591033681493; + uint256 constant IC26y = 2781881074750924182130845305550304707733282921294174566559928537889278237955; - uint256 constant IC27x = 20354123394938294132319773872263617091686356348235151753732395588542115990253; - uint256 constant IC27y = 9370969562790654841486867992534284434087821265694482360742469527651389052516; + uint256 constant IC27x = 15683147951893410406096346361449163187734233904509983293856126129311265101694; + uint256 constant IC27y = 2168339806599618332193644721673922939969280545067403095587408807381894124936; - uint256 constant IC28x = 749698431933435545392856576924856252408426040378185137452101024854473982318; - uint256 constant IC28y = 10369746045619366203245377833848197507328508425992979363855345137502313717119; + uint256 constant IC28x = 315035763854939145651156391340482052373168276614904956736944285000361956025; + uint256 constant IC28y = 9046029775992129776233430487821134767415535416404106476900939230072605015949; - uint256 constant IC29x = 13924261703846280754011239690661134541096397176882043202637554890822603864678; - uint256 constant IC29y = 18490581088324737927057960954047847534810947157729964269120994220496244858876; + uint256 constant IC29x = 16702595149630469028030520205968648581925571239778200153461762033026978869996; + uint256 constant IC29y = 5341264583221686396554877164304749669102173766319974665739654603930076339494; - uint256 constant IC30x = 3639736301087187198215354960483681177361361075663113624463814532907153992441; - uint256 constant IC30y = 1032841028236486436610535295630820909109454508466929979895079509439401121424; + uint256 constant IC30x = 18227910701337243042149451855343331991113536790424339012387740307180547799123; + uint256 constant IC30y = 16668301100901313623883556739908219939542169305008917255663502734039639028530; - uint256 constant IC31x = 5228567285493337244623048337556447250995640037732065591059183190260251367495; - uint256 constant IC31y = 8716670701772476772999790138453487291942759826365368712159979869310609024744; + uint256 constant IC31x = 17932140945438074805410982119641969109381625073969182331989455928253180143871; + uint256 constant IC31y = 717429811186727663024363834879237912962885409222145707098451744204589841172; - uint256 constant IC32x = 4050395180687500033451272794494370337472728614419225549623019562176909372738; - uint256 constant IC32y = 17670949173403368114103989241104457239341380011198095960032306325532120806476; + uint256 constant IC32x = 21300530289886932428943247518243862485766592202594141281048932055023624349053; + uint256 constant IC32y = 13615442376031284726048819111701820235342371039395336046041214770848322742864; // Memory data diff --git a/solidity/contracts/lib/verifier_check_hashes_value.sol b/solidity/contracts/lib/verifier_check_hashes_value.sol index fc1d9d5..8cd834a 100644 --- a/solidity/contracts/lib/verifier_check_hashes_value.sol +++ b/solidity/contracts/lib/verifier_check_hashes_value.sol @@ -43,17 +43,17 @@ contract Groth16Verifier_CheckHashesValue { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 17792762022125287046321768098607171320071618631211367966788587488825455404458; - uint256 constant IC0y = 11155528019403985287117957011181683282276980330791900414761420530701336492839; + uint256 constant IC0x = 2307354954028535885903689007465428281272507194341944906729923116892457651028; + uint256 constant IC0y = 18317082585014852436012943307523034226775545124297724006987091822933679889688; - uint256 constant IC1x = 6717605603646218844646921196814073522173739325926307699116887265970061883098; - uint256 constant IC1y = 516153472147520123255754218210841627924243470206670179828454953236590121912; + uint256 constant IC1x = 9823078414985920028166240098609183317806812005541408670311863075271319782599; + uint256 constant IC1y = 21169809119767924886674856411695162922226985520675510254111600604145344841116; - uint256 constant IC2x = 8087731838810758210112265887449747110390409349987938026778639089761261395232; - uint256 constant IC2y = 19857276812072296411781253738593366602790857251698964067504889225833057563826; + uint256 constant IC2x = 18060008279311253505225559405605419538591653225155932292814897921219171234932; + uint256 constant IC2y = 5328891514929110844206381425710026387341744471211840718140965961485460953346; - uint256 constant IC3x = 473105502461913999202734899658281137764286492931790885921074401072316990093; - uint256 constant IC3y = 19795449967604900309902005580999588375004713323386672270649013487860620808493; + uint256 constant IC3x = 7714106404362931584249889467880240815365109986173140789727464920387500965085; + uint256 constant IC3y = 18287915263365891664367002800360558725249421205814513620031419421740942877372; // 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 6aaa1dd..26a2246 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 = 12946007655294748109976651790282368712032854715550040876001054877264205748780; - uint256 constant IC0y = 18032642300154066830488632818855044055030982780193227094738656624662833078781; + uint256 constant IC0x = 6106103413938023487307204874536788037350276764606519282648243197514897278952; + uint256 constant IC0y = 3528187465382696386595286033004082674373512005440682910298735608454252181690; - uint256 constant IC1x = 8228341292765993013090092820633873569483019963672083323737021345228840775169; - uint256 constant IC1y = 20432244021136381590872457352955032102872199444416050619571352452282317954219; + uint256 constant IC1x = 4662932240032905513938339639979591690434004356592875276946986182417970341271; + uint256 constant IC1y = 16733286924379241595351916588598405705645947681316067102766860496137808868265; - uint256 constant IC2x = 8738679007939815464034505049392842095886575320134992784554786710251071495194; - uint256 constant IC2y = 12009150672696869511811457247713563145562974962822650354468690669684773324888; + uint256 constant IC2x = 10731888986847002440999584697187001873037906507381142562896634269462375949754; + uint256 constant IC2y = 7917515192822230362458167996322490026140465057424702702781234959276845779224; - uint256 constant IC3x = 16976117339499051172320583716642091977612878655215293512007076397040817016742; - uint256 constant IC3y = 18369955760166412766197526139589217319712839270695221527886946564802088870621; + uint256 constant IC3x = 19424719198946717269480314101461187486570565226402374347852842533345082752012; + uint256 constant IC3y = 19329130570177469096377324066801922870880468297295439065859835039161258421175; - uint256 constant IC4x = 6204120783350765925857762755308465534553599091344386478886890855955170711802; - uint256 constant IC4y = 8643610540753524921724781956366950179079789331191119071601262970976815564720; + uint256 constant IC4x = 8276041867071851396034700029402999489477040766526970805162551250935226101017; + uint256 constant IC4y = 7668294809888478252940099646148799858250794898051062508098740609391502413691; // 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 7b67097..27c1450 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 = 7605020151164766720932880397176905095983170802501793884341102770884420020482; - uint256 constant IC0y = 11578388613645654158518048253463162726071172307764933798767177117762211278895; + uint256 constant IC0x = 11850228197322031025292557434932671890161936824077308468210790908293207072924; + uint256 constant IC0y = 6893259731019057437405676388909128655532485251583581436654001261817316492042; - uint256 constant IC1x = 15517079692254797082811127896852347294842175727299054806187097752985044386145; - uint256 constant IC1y = 11495218079914661091848865922797430386857914791128443633966423638887578652800; + uint256 constant IC1x = 2006033914856993104498728774510647014907556901365120840081985788005085672877; + uint256 constant IC1y = 17998253871634013819947875029169762624761142023665224612184627772687545109066; - uint256 constant IC2x = 243414170770791910563402075185563980513342209369023526954923309991295341694; - uint256 constant IC2y = 9498198509948216509468422581109675232394505898833542174822777188323601783999; + uint256 constant IC2x = 4103698097399567127443406312274977477704849480651460747611513946765797717650; + uint256 constant IC2y = 14061531011628110005004422945666586153343603854939977082502069897494983071140; - uint256 constant IC3x = 13285044807968100769106768874832759354495600411449157905782590466328779755528; - uint256 constant IC3y = 2136895439498727662587473143938769324523684804796466332723470564952038685883; + uint256 constant IC3x = 1081801818436862436123803025513171589801770974010030819523757416738043101371; + uint256 constant IC3y = 17766404609523059407522090862288372808635192419184335699917406989996778289632; - uint256 constant IC4x = 3692932732800293622684828311503806475019328215635560980215020783976779762937; - uint256 constant IC4y = 12791108782670091177537218211398284608704674283826973490354384567113275556590; + uint256 constant IC4x = 20415608612532298955462888484347815669481487604986331499669256195555733969602; + uint256 constant IC4y = 10638824484686472166456926783532682456490430014700330920588119111029631080106; - uint256 constant IC5x = 10168275234288879049995440108184688085912267959332845106194998999507298417219; - uint256 constant IC5y = 1282071841478225616046652786859289229680066730983817071785821086479137382077; + uint256 constant IC5x = 17275185952641587403276037722941598987472868849544217030799251568414406466780; + uint256 constant IC5y = 21714607879138969434716190600943333110382701295499903843570917739702494065203; - uint256 constant IC6x = 7235068284145630972050279713430878509765936948747625554947288022190564048442; - uint256 constant IC6y = 5902554626780998512883944113467917148037254437959334264346892443985833627237; + uint256 constant IC6x = 4659675731303993028072126817057309725534763325688077491391090804756661478020; + uint256 constant IC6y = 4660722410143123749044946187682625600717822642741877499345909528796926131881; - uint256 constant IC7x = 16861674313721729212277476940333742169394147874609016430903615957170161200825; - uint256 constant IC7y = 20426849998603797757853510264597534845673973727619839541012525228388119741909; + uint256 constant IC7x = 5584696329789630436104217319153439843027445128668775749518301879021575421283; + uint256 constant IC7y = 8952329233834312061052778542237211314786796372036148761716551956710544370485; - uint256 constant IC8x = 17708819669592927848989594793667114710771087624006287649012860592792923987997; - uint256 constant IC8y = 15873307863447105780111308151894272535859534246468813842400366408614675542327; + uint256 constant IC8x = 5022224465274436342515852518035873423709676068453480465629667789163739923585; + uint256 constant IC8y = 20255877445762712434251369549951930671955272416174469752691737340628883502605; - uint256 constant IC9x = 3197281054855316450538721218831196330542296382661440781051889522226657563194; - uint256 constant IC9y = 5413568987684267492065617785858413891618395417745135855175348324258253213513; + uint256 constant IC9x = 1103099261013390886619279979996247511276694573710876139033964026114177329302; + uint256 constant IC9y = 15026537481902009121153440626085927594454837889200988192228924261619670149230; - uint256 constant IC10x = 3831763653728578388092289917373302131302206639052144524861592322599234498350; - uint256 constant IC10y = 888707563378974588326031414617587035464449471174524952521745636124316368133; + uint256 constant IC10x = 19925939224338564341139692228321332998486308579749363621833687249457651756856; + uint256 constant IC10y = 9670096421457763052088018388303959323171539679010562182079320134010252443894; - uint256 constant IC11x = 8551505161979601570199483900737374890291193858580256984768954850420773432917; - uint256 constant IC11y = 8290587092562422403997757942904610038970268187030822023299514255968258921345; + uint256 constant IC11x = 9417965438556844072422086173944694102685930539743150254476465397958899879891; + uint256 constant IC11y = 13969685951803644264035150268010763674733552318608793075532576712150525603519; - uint256 constant IC12x = 20997320264896874922675680132719385968387223321238331618609644318329057101045; - uint256 constant IC12y = 16147901014701742694117656771529088911376761513927933289235031161761680134480; + uint256 constant IC12x = 8167311546999867918768697292516647876655821444461431579263790163291433609213; + uint256 constant IC12y = 1676897108687545698278927404819192092431872234325958996807871837997778022554; // Memory data diff --git a/solidity/contracts/lib/verifier_check_nullifier_value.sol b/solidity/contracts/lib/verifier_check_nullifier_value.sol index b475aa5..e8cf64d 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 = 21479972349761820082689109991096144113595851567249751778844355084519665372018; - uint256 constant IC0y = 12954845361482748830004870237224824480547324964567783945687232438965992776053; + uint256 constant IC0x = 5372465145930131904181936844224539702598562677294839351793739913813002422248; + uint256 constant IC0y = 17408194426033394784509716657563038781374557284116121966988820958100327208947; - uint256 constant IC1x = 15140559764739014833414840602600058195954932997325564673581613460055534260134; - uint256 constant IC1y = 3668174888313206113621286077307156893422097860879478966424990577575448076391; + uint256 constant IC1x = 18721682748794380402768397518142652407455353988834810677058243887163649195944; + uint256 constant IC1y = 3510524177671077561512337051711627169148530693705071780712030685548737096143; - uint256 constant IC2x = 13740382588718560255183975165717990452163325471071683111880639133163222393492; - uint256 constant IC2y = 6936863670834921311830269014161474743250664484174187891378368512177343327786; + uint256 constant IC2x = 8122158197879371180286109309676763127376056183929764072927375068599106569793; + uint256 constant IC2y = 14069702746185228450937432180611779524058868979912356630903216371660230563795; - uint256 constant IC3x = 21369364592773091188128985677572872041049135071297760113998132538581992331931; - uint256 constant IC3y = 8770267058634669239940368085995619660634242300474370499696358454972533643989; + uint256 constant IC3x = 12054470835972212708497793935866295196617705336672489963811855490085993758837; + uint256 constant IC3y = 3414164109693343726343912594769661343694119217245254408298451715214194698056; - uint256 constant IC4x = 14810410121912189489184127875739569707133958214247367775293205552498453858109; - uint256 constant IC4y = 13846300784822170045421613402406794625007632979581126224687837059725261235172; + uint256 constant IC4x = 20788158480360140113733456986338078732985477544997534478761000739379167086988; + uint256 constant IC4y = 18739927009843693757028260696367700177351944363013044083149375549875761468959; - uint256 constant IC5x = 13626981813056543812377051685334012888751970918454296977729341028316762700584; - uint256 constant IC5y = 5354303765367236320647708927072767965975993175736575333727731518687415997857; + uint256 constant IC5x = 19951574778071643021012085154476313617081511627644669051221009630908944086558; + uint256 constant IC5y = 16230451990376817064850835151093534344795062721521761792474659514233372650410; - uint256 constant IC6x = 16704290353261878305863110383623117185297433218079337528199272616778179959116; - uint256 constant IC6y = 2700303256362168245131626887412264040955929843715716711831426080071539958788; + uint256 constant IC6x = 13177431207016748663806898438333194070079646082467860253233651704586403557256; + uint256 constant IC6y = 20902096558452622927027397347274817235993975444465062231225253027029751104905; - uint256 constant IC7x = 15122724046825935975226108364649646351034084301691421363663639866322683034105; - uint256 constant IC7y = 19933356900550003260952830798222953530461748473782412354764898181816417882667; + uint256 constant IC7x = 16080914620084423806474567527530474918486311214600624165372750879022214015497; + uint256 constant IC7y = 11018353982179097918136151910235210507904716869524646248692012722240219927007; // 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 7adafd3..3d60365 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 = 11215632211605849777997006525456347967737448500007318091927705268733774154223; - uint256 constant IC0y = 17699952619297303965304183681916877388432635137985585988606559487142475405763; + uint256 constant IC0x = 17366683354852295992407143995504174653074195591417819551747878918252419851555; + uint256 constant IC0y = 19483006769124497327131823516486718544957590921235503972246996412536778649980; - uint256 constant IC1x = 11548095286197359121160733146834476640223930159466939844027933075934552511428; - uint256 constant IC1y = 6288656266975730553736144969554904041513279189257442776734466277026887428385; + uint256 constant IC1x = 10366104846534137715500591309814118886022119944596398433735317084138833334792; + uint256 constant IC1y = 18643499405451183547036528756385786304465469271907167766660424194164058707394; - uint256 constant IC2x = 18926854554953490053576576035107942442382117200777788107144510370783807097697; - uint256 constant IC2y = 18289935522389488193993054449478068628556804995469571495694897572246135448973; + uint256 constant IC2x = 21527677578578888285885541980444416714072945316839881166233809028918267698233; + uint256 constant IC2y = 6063324619444599539166268744543898744271662754151538561975809930969069774378; - uint256 constant IC3x = 2771233727558080770853129885714002927147125934391829427537426622342329046758; - uint256 constant IC3y = 5214926352943362617799594830977548938122254343767107957731936384811679914924; + uint256 constant IC3x = 5659430035828023753430174422783281723178462397264403842527625530517452189999; + uint256 constant IC3y = 2524917828174102567027356560699115590340023663960388221257861988015650700591; - uint256 constant IC4x = 21847698266056433410747936199079865606982901377721262794677774638804474016719; - uint256 constant IC4y = 8147615275872120936254385749934320162961507021560542223066322259961345459136; + uint256 constant IC4x = 7238189621429832667411485007166185860893028785898240074557092538061430786966; + uint256 constant IC4y = 20390153919215256777155824947030000580196832273416110104565624202061427202468; - uint256 constant IC5x = 20677470849417460934074316550301050006619653890702542532155516395060068184532; - uint256 constant IC5y = 14951640248816265062700558139964650163968515368047361399041201551655167160143; + uint256 constant IC5x = 15894469854222667910812295936601612004318640816386618401404798091678758027724; + uint256 constant IC5y = 14356168113450460554678860751069980826494953509135368818216408384111747891420; - uint256 constant IC6x = 13552674142114362873571479903862068723991679433261012406669406589085738389659; - uint256 constant IC6y = 7981710903746946083354871005852277776743818441143999574738020051202535606933; + uint256 constant IC6x = 3942663716298823998869531263141686282324249719050386829948592397432348708056; + uint256 constant IC6y = 3035466022559911517709445948547486025175916218731187151424634579526798275616; - uint256 constant IC7x = 2843494076733793387882091326156241096225727929348442160495843068717543839521; - uint256 constant IC7y = 14557654223965043420646594567381219413527997179469070491574680444809195848971; + uint256 constant IC7x = 1553309902541816224998744612658270612542776491552112107717121674403292493359; + uint256 constant IC7y = 11180635816568547989345458896877617901909650248852843301038895683628956771263; - uint256 constant IC8x = 4175404132208645428143528244972201934610322248514230591679427294477775090476; - uint256 constant IC8y = 4013408769686153582064342212992839071277122314070152381839708135070908233405; + uint256 constant IC8x = 3701018914736177770292204885016878725979532325238333503986400101377864703276; + uint256 constant IC8y = 19833990420531737080526472786919541772537650521778260464568233706284118513049; - uint256 constant IC9x = 20373089047507286170686013342501109233678082808382044266512396006289848296548; - uint256 constant IC9y = 17414519037252783531098115688093063546013495710114297730709365743261124408934; + uint256 constant IC9x = 12025524461625658475137301154601859231184602771266597356005073433551998537077; + uint256 constant IC9y = 1456393002982685462391054585518332799475085362766843390052131361397104224000; - uint256 constant IC10x = 18404652336430160384100638626193336882585113518149833816959325645823341687636; - uint256 constant IC10y = 8137460239724975063676137530784339741015268295017803709669034144589360083276; + uint256 constant IC10x = 16807793107311666302190473961042321317453287634331068595488371659019485509298; + uint256 constant IC10y = 18660554898013959088019910686200094855986079232329695676414858332384484100222; - uint256 constant IC11x = 13387772462482787398891173736297802001331602227482843796433543930845834622870; - uint256 constant IC11y = 14251235131839391379589815502073622557073889987627793817902006298379525694305; + uint256 constant IC11x = 9789863392723531300259587179323466696537747572630489833683814294587664776868; + uint256 constant IC11y = 4021843822169944439345128570575352294119541799048090956488246619674844965472; - uint256 constant IC12x = 20865452764368968483277128844158136885156922937779917366127619931017305838384; - uint256 constant IC12y = 17853170680823374103828156105205829685852301408973246894017715214149058802045; + uint256 constant IC12x = 10214507374407129083284926029820451365753765776330479881523358522180753325104; + uint256 constant IC12y = 6174874849309167082617299735152158687361915126002906606614371830494266455367; - uint256 constant IC13x = 9853052414354858016630641887517965504857357355021183318544386710740404641437; - uint256 constant IC13y = 13146092501012325526897894082012191085118374563909694635147607538448073891621; + uint256 constant IC13x = 10940606823101131233309979818887945079384613067709355569336590477206410424368; + uint256 constant IC13y = 1529208575010684508442716482754348867936757320711258330891648162641538044536; - uint256 constant IC14x = 2826204081145110561887126072614799213904772886576324960398804191585387429754; - uint256 constant IC14y = 20321441752256535051701734841817178137635126863293665107747342993271525607814; + uint256 constant IC14x = 10087732249910916073426006557040806210935045993195380389004671191499603659207; + uint256 constant IC14y = 7443393664317545329254912123081736912386566669005719193913868247214148583503; - uint256 constant IC15x = 9264128410271638041318342513546840109915920917673351880950167980324310412014; - uint256 constant IC15y = 5380502298543509366643708116580810604911173595451307803675768078234246959789; + uint256 constant IC15x = 16404969434890860611574834353483070312895732476387812161187868979316241878917; + uint256 constant IC15y = 19676747737804121937999539792895793757453717532009730518885557633073507270372; - uint256 constant IC16x = 4479343358771134075447296531862885036260188197397900811748790404715264510048; - uint256 constant IC16y = 16673821339016242146065316462622452546805721830155001289853613360459978869727; + uint256 constant IC16x = 11130436916472796659130880446782841087239080661463103611590285506562232306164; + uint256 constant IC16y = 13396283331421200879055216177372556296918660983129101109962712961278727949285; - uint256 constant IC17x = 20771838221883342227665651895035860952654473843853849403306865012146234872629; - uint256 constant IC17y = 20110759151618177312269262403632221117051159160579155030673784750617199953714; + uint256 constant IC17x = 18218360746339548031724109374686253420716818661174497636632005644706100544635; + uint256 constant IC17y = 21172625106199967128593353246092551188199701584176729699213074514231209994675; - uint256 constant IC18x = 7874670996063895301022675254507504023996844454270681310245045360371548207593; - uint256 constant IC18y = 4906272562446411959996790191782933892624669175959999396258173204803057747802; + uint256 constant IC18x = 19758930414401357761821077915160309020962693098586679596228991300362584487736; + uint256 constant IC18y = 13569184175490052261123892597281797139167978224682715950489992695657542966533; - uint256 constant IC19x = 6718068758839848944456102553943243734192494940351219060147807098504340933145; - uint256 constant IC19y = 19749712309929432365633731307262416305583098811676296992735054736542353771846; + uint256 constant IC19x = 13280061894247793894958942691701119684528737183396784669637060695805643386178; + uint256 constant IC19y = 13473180960238185615076221510950965535376963989105989970070499050578446283305; - uint256 constant IC20x = 12176774966903129701010883373268971316874402759136524023543221961925717374009; - uint256 constant IC20y = 10316950245175186647318117251800593818959589497566969142905778576985501289094; + uint256 constant IC20x = 1883062788684859331882578642430274233076862028256499324766210198222044285374; + uint256 constant IC20y = 21175110562847535813966290632423195949054616850607561678958250643497836918190; - uint256 constant IC21x = 10783521488815019568722998972427903675610566048605720735071487149054891972189; - uint256 constant IC21y = 19897698431379210023931523484482075971373595776099016183701689207454616677220; + uint256 constant IC21x = 12895836754941507779121370416231719346694197724945981683615558906276745887603; + uint256 constant IC21y = 6646006890301769910107555005644233902910512644919054229046263085688091816853; - uint256 constant IC22x = 5686192372711372618497346248576535688658010637360628945740213576938981144374; - uint256 constant IC22y = 8257210265176086375186156384792077707461793999396533257754807652338899261851; + uint256 constant IC22x = 17308914241678938030422526322338288734470378999652358159021166607108962704968; + uint256 constant IC22y = 18406851446505143717056856075557317602320041669211343434213146566599365910852; - uint256 constant IC23x = 5606244713006994272354131277915058148426505191268835047965998884675502616031; - uint256 constant IC23y = 2348995245049377607506145290150107096011641146206436923515875214498125762021; + uint256 constant IC23x = 7080930845263346356578029481773118223285460683970543357645916770136148160025; + uint256 constant IC23y = 1811823263315974161935966519923924161086093162314533117675697138869841933466; // Memory data diff --git a/solidity/contracts/lib/verifier_nf_anon.sol b/solidity/contracts/lib/verifier_nf_anon.sol index 5c0ab74..fff1875 100644 --- a/solidity/contracts/lib/verifier_nf_anon.sol +++ b/solidity/contracts/lib/verifier_nf_anon.sol @@ -43,14 +43,14 @@ contract Groth16Verifier_NfAnon { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 10020092930874300261989815110451890677858803515979509433662031865914072918226; - uint256 constant IC0y = 17070101185794415345355286346999709374848020479919874590476905964074414675269; + uint256 constant IC0x = 13873740177715802755385732077366977622618043548586667644931510412045732345211; + uint256 constant IC0y = 7822603196038058903946191150335625452288855271795991044394515523726630086823; - uint256 constant IC1x = 3016854710905203642733355095769727844360177340190579640278681028127715104344; - uint256 constant IC1y = 9782981420872624702200985986563400852904067131609181146236078534111835333347; + uint256 constant IC1x = 20387114900165564444764599841003695882681843564123010509570888345037810796233; + uint256 constant IC1y = 716107887690255579382932830143841687883619764720110130104332293089743616318; - uint256 constant IC2x = 8026540857798483992461438269027385689642020173090622578932564876177211807450; - uint256 constant IC2y = 14111623716360882977581880238098907051633084770306352169299490213701026959554; + uint256 constant IC2x = 19953561954684321143934408477761743321734499762610383055455222208328857184181; + uint256 constant IC2y = 21474413230170442926828652492881481675080019689587204357649131313116699670567; // Memory data diff --git a/solidity/contracts/lib/verifier_nf_anon_nullifier.sol b/solidity/contracts/lib/verifier_nf_anon_nullifier.sol index ae24871..a12fb0f 100644 --- a/solidity/contracts/lib/verifier_nf_anon_nullifier.sol +++ b/solidity/contracts/lib/verifier_nf_anon_nullifier.sol @@ -43,17 +43,17 @@ contract Groth16Verifier_NfAnonNullifier { uint256 constant deltay2 = 8495653923123431417604973247489272438418190587263600148770280649306958101930; - uint256 constant IC0x = 1850466847639060634404948347969036016875262442800831199585223676063607484668; - uint256 constant IC0y = 5662178717971815906611441896208998868499475684066306412423350073425653117131; + uint256 constant IC0x = 13058539721432268764503714828619663141375444649879587444307036004161584042698; + uint256 constant IC0y = 13231166779218028213678924006298697901762633361997917108298474235370208643631; - uint256 constant IC1x = 8774888538494050337883674636637208272398506056075530661626586829397859006583; - uint256 constant IC1y = 1583763613603549499951726198015830205128218111696136835698959694558808488054; + uint256 constant IC1x = 849607412105127908955236592676452928309067622614671328242877911559171816381; + uint256 constant IC1y = 9222683832419210809057694616641998563004311751553037755021147738067550736734; - uint256 constant IC2x = 20873631781525799506250881528662457782718926069233700738254597852097385976433; - uint256 constant IC2y = 21436322362678356356877997860510575577638333767378180557423448006012318557325; + uint256 constant IC2x = 16469335622955445337328593001184226898027550673288315478807844082367562992169; + uint256 constant IC2y = 14305423454287146943700407542874078083717688140560973373015596129936527323894; - uint256 constant IC3x = 16778368608530321133354080546974520790336550324231545351923656573075653962439; - uint256 constant IC3y = 16981624837885417946667697563369553144779661269733523301503377826501899528934; + uint256 constant IC3x = 2173970074146945515801333097040165190744481352606396129963339167047945407546; + uint256 constant IC3y = 4213666044264827852959682467546159931844165433052708261298581182042946212721; // Memory data diff --git a/solidity/test/zeto_anon.ts b/solidity/test/zeto_anon.ts index 789a567..2e1641a 100644 --- a/solidity/test/zeto_anon.ts +++ b/solidity/test/zeto_anon.ts @@ -37,7 +37,7 @@ import { import { Zeto_Anon } from "../typechain-types"; import { deployZeto } from "./lib/deploy"; -const ZERO_PUBKEY = [0, 0]; +const ZERO_PUBKEY = [0n, 0n]; const poseidonHash = Poseidon.poseidon4; describe("Zeto based fungible token with anonymity without encryption or nullifier", function () { @@ -329,7 +329,13 @@ describe("Zeto based fungible token with anonymity without encryption or nullifi await expect( zeto .connect(Alice.signer) - .withdraw(10, inputCommitments, outputCommitments[0], encodedProof, "0x"), + .withdraw( + 10, + inputCommitments, + outputCommitments[0], + encodedProof, + "0x", + ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_enc.ts b/solidity/test/zeto_anon_enc.ts index 757586a..9c31e86 100644 --- a/solidity/test/zeto_anon_enc.ts +++ b/solidity/test/zeto_anon_enc.ts @@ -313,7 +313,13 @@ describe("Zeto based fungible token with anonymity and encryption", function () await expect( zeto .connect(Alice.signer) - .withdraw(10, inputCommitments, outputCommitments[0], encodedProof, "0x"), + .withdraw( + 10, + inputCommitments, + outputCommitments[0], + encodedProof, + "0x", + ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_enc_nullifier.ts b/solidity/test/zeto_anon_enc_nullifier.ts index e1c230d..ad8893a 100644 --- a/solidity/test/zeto_anon_enc_nullifier.ts +++ b/solidity/test/zeto_anon_enc_nullifier.ts @@ -256,7 +256,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti withdrawCommitments[0], root.bigInt(), withdrawEncodedProof, - "0x" + "0x", ); await tx.wait(); @@ -458,7 +458,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -519,7 +519,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_enc_nullifier_kyc.ts b/solidity/test/zeto_anon_enc_nullifier_kyc.ts index 4b808f0..0df4124 100644 --- a/solidity/test/zeto_anon_enc_nullifier_kyc.ts +++ b/solidity/test/zeto_anon_enc_nullifier_kyc.ts @@ -318,7 +318,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti withdrawCommitments[0], root.bigInt(), withdrawEncodedProof, - "0x" + "0x", ); await tx.wait(); @@ -566,7 +566,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -722,7 +722,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -790,7 +790,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts b/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts index 6c371ba..e5db4f3 100644 --- a/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts +++ b/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts @@ -312,7 +312,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti withdrawCommitments[0], root.bigInt(), withdrawEncodedProof, - "0x" + "0x", ); await tx.wait(); @@ -570,7 +570,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -631,7 +631,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_nullifier.ts b/solidity/test/zeto_anon_nullifier.ts index cfa2b47..ea9840d 100644 --- a/solidity/test/zeto_anon_nullifier.ts +++ b/solidity/test/zeto_anon_nullifier.ts @@ -228,7 +228,7 @@ describe("Zeto based fungible token with anonymity using nullifiers without encr withdrawCommitments[0], root.bigInt(), withdrawEncodedProof, - "0x" + "0x", ); await tx.wait(); @@ -430,7 +430,7 @@ describe("Zeto based fungible token with anonymity using nullifiers without encr outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -490,7 +490,7 @@ describe("Zeto based fungible token with anonymity using nullifiers without encr outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ), ).rejectedWith("UTXOAlreadySpent"); }); diff --git a/solidity/test/zeto_anon_nullifier_kyc.ts b/solidity/test/zeto_anon_nullifier_kyc.ts index 6ef0ae2..0765923 100644 --- a/solidity/test/zeto_anon_nullifier_kyc.ts +++ b/solidity/test/zeto_anon_nullifier_kyc.ts @@ -290,7 +290,7 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou withdrawCommitments[0], root.bigInt(), withdrawEncodedProof, - "0x" + "0x", ); await tx.wait(); @@ -537,7 +537,7 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -693,7 +693,7 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ); await tx.wait(); @@ -759,7 +759,7 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou outputCommitments[0], root.bigInt(), encodedProof, - "0x" + "0x", ), ).rejectedWith("UTXOAlreadySpent"); }); @@ -1137,7 +1137,8 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou ); const results: ContractTransactionReceipt | null = await tx.wait(); console.log( - `Time to execute transaction: ${Date.now() - startTx}ms. Gas used: ${results?.gasUsed + `Time to execute transaction: ${Date.now() - startTx}ms. Gas used: ${ + results?.gasUsed }`, ); return results; diff --git a/zkp/circuits/anon.circom b/zkp/circuits/anon.circom index b272ff7..e3779fd 100644 --- a/zkp/circuits/anon.circom +++ b/zkp/circuits/anon.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_base.circom"; diff --git a/zkp/circuits/anon_batch.circom b/zkp/circuits/anon_batch.circom index 47ac1fc..de3edec 100644 --- a/zkp/circuits/anon_batch.circom +++ b/zkp/circuits/anon_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_base.circom"; diff --git a/zkp/circuits/anon_enc.circom b/zkp/circuits/anon_enc.circom index 129bdff..63da153 100644 --- a/zkp/circuits/anon_enc.circom +++ b/zkp/circuits/anon_enc.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_base.circom"; diff --git a/zkp/circuits/anon_enc_batch.circom b/zkp/circuits/anon_enc_batch.circom index 57d250d..e163198 100644 --- a/zkp/circuits/anon_enc_batch.circom +++ b/zkp/circuits/anon_enc_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier.circom b/zkp/circuits/anon_enc_nullifier.circom index 212e2a6..b911349 100644 --- a/zkp/circuits/anon_enc_nullifier.circom +++ b/zkp/circuits/anon_enc_nullifier.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier_batch.circom b/zkp/circuits/anon_enc_nullifier_batch.circom index 4fd3670..6fa43ff 100644 --- a/zkp/circuits/anon_enc_nullifier_batch.circom +++ b/zkp/circuits/anon_enc_nullifier_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier_kyc.circom b/zkp/circuits/anon_enc_nullifier_kyc.circom index 82264d6..4902c3c 100644 --- a/zkp/circuits/anon_enc_nullifier_kyc.circom +++ b/zkp/circuits/anon_enc_nullifier_kyc.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_kyc_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier_kyc_batch.circom b/zkp/circuits/anon_enc_nullifier_kyc_batch.circom index b39c35e..bb0ebb6 100644 --- a/zkp/circuits/anon_enc_nullifier_kyc_batch.circom +++ b/zkp/circuits/anon_enc_nullifier_kyc_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_kyc_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier_non_repudiation.circom b/zkp/circuits/anon_enc_nullifier_non_repudiation.circom index d30dea8..e44f62b 100644 --- a/zkp/circuits/anon_enc_nullifier_non_repudiation.circom +++ b/zkp/circuits/anon_enc_nullifier_non_repudiation.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_non_repudiation_base.circom"; diff --git a/zkp/circuits/anon_enc_nullifier_non_repudiation_batch.circom b/zkp/circuits/anon_enc_nullifier_non_repudiation_batch.circom index d623146..1e7a65e 100644 --- a/zkp/circuits/anon_enc_nullifier_non_repudiation_batch.circom +++ b/zkp/circuits/anon_enc_nullifier_non_repudiation_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_enc_nullifier_non_repudiation_base.circom"; diff --git a/zkp/circuits/anon_nullifier.circom b/zkp/circuits/anon_nullifier.circom index 7bb3e45..1080eb8 100644 --- a/zkp/circuits/anon_nullifier.circom +++ b/zkp/circuits/anon_nullifier.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_nullifier_base.circom"; diff --git a/zkp/circuits/anon_nullifier_batch.circom b/zkp/circuits/anon_nullifier_batch.circom index 0be3eea..54ec252 100644 --- a/zkp/circuits/anon_nullifier_batch.circom +++ b/zkp/circuits/anon_nullifier_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_nullifier_base.circom"; diff --git a/zkp/circuits/anon_nullifier_kyc.circom b/zkp/circuits/anon_nullifier_kyc.circom index cf97bae..572e8f6 100644 --- a/zkp/circuits/anon_nullifier_kyc.circom +++ b/zkp/circuits/anon_nullifier_kyc.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_nullifier_kyc_base.circom"; diff --git a/zkp/circuits/anon_nullifier_kyc_batch.circom b/zkp/circuits/anon_nullifier_kyc_batch.circom index 8634852..000884f 100644 --- a/zkp/circuits/anon_nullifier_kyc_batch.circom +++ b/zkp/circuits/anon_nullifier_kyc_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./basetokens/anon_nullifier_kyc_base.circom"; diff --git a/zkp/circuits/basetokens/anon_base.circom b/zkp/circuits/basetokens/anon_base.circom index bb0fdeb..04a0426 100644 --- a/zkp/circuits/basetokens/anon_base.circom +++ b/zkp/circuits/basetokens/anon_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_enc_base.circom b/zkp/circuits/basetokens/anon_enc_base.circom index 86e57ac..76ab83e 100644 --- a/zkp/circuits/basetokens/anon_enc_base.circom +++ b/zkp/circuits/basetokens/anon_enc_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_enc_nullifier_base.circom b/zkp/circuits/basetokens/anon_enc_nullifier_base.circom index 807be5e..300537b 100644 --- a/zkp/circuits/basetokens/anon_enc_nullifier_base.circom +++ b/zkp/circuits/basetokens/anon_enc_nullifier_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_enc_nullifier_kyc_base.circom b/zkp/circuits/basetokens/anon_enc_nullifier_kyc_base.circom index 6d0cdcf..57115d2 100644 --- a/zkp/circuits/basetokens/anon_enc_nullifier_kyc_base.circom +++ b/zkp/circuits/basetokens/anon_enc_nullifier_kyc_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_enc_nullifier_non_repudiation_base.circom b/zkp/circuits/basetokens/anon_enc_nullifier_non_repudiation_base.circom index d9a7ed0..42a49bc 100644 --- a/zkp/circuits/basetokens/anon_enc_nullifier_non_repudiation_base.circom +++ b/zkp/circuits/basetokens/anon_enc_nullifier_non_repudiation_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_nullifier_base.circom b/zkp/circuits/basetokens/anon_nullifier_base.circom index d7d1f99..dfc4954 100644 --- a/zkp/circuits/basetokens/anon_nullifier_base.circom +++ b/zkp/circuits/basetokens/anon_nullifier_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/basetokens/anon_nullifier_kyc_base.circom b/zkp/circuits/basetokens/anon_nullifier_kyc_base.circom index c5d3147..8ab8b68 100644 --- a/zkp/circuits/basetokens/anon_nullifier_kyc_base.circom +++ b/zkp/circuits/basetokens/anon_nullifier_kyc_base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../lib/check-positive.circom"; include "../lib/check-hashes.circom"; diff --git a/zkp/circuits/check_hashes_value.circom b/zkp/circuits/check_hashes_value.circom index efc610d..9c522f3 100644 --- a/zkp/circuits/check_hashes_value.circom +++ b/zkp/circuits/check_hashes_value.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-positive.circom"; include "./lib/check-hashes.circom"; diff --git a/zkp/circuits/check_inputs_outputs_value.circom b/zkp/circuits/check_inputs_outputs_value.circom index f469d64..e7a4129 100644 --- a/zkp/circuits/check_inputs_outputs_value.circom +++ b/zkp/circuits/check_inputs_outputs_value.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-inputs-outputs-value-base.circom"; diff --git a/zkp/circuits/check_inputs_outputs_value_batch.circom b/zkp/circuits/check_inputs_outputs_value_batch.circom index 02231d0..faa468e 100644 --- a/zkp/circuits/check_inputs_outputs_value_batch.circom +++ b/zkp/circuits/check_inputs_outputs_value_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-inputs-outputs-value-base.circom"; diff --git a/zkp/circuits/check_nullifier_value.circom b/zkp/circuits/check_nullifier_value.circom index d9434c8..8c447a2 100644 --- a/zkp/circuits/check_nullifier_value.circom +++ b/zkp/circuits/check_nullifier_value.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-nullifier-value-base.circom"; diff --git a/zkp/circuits/check_nullifier_value_batch.circom b/zkp/circuits/check_nullifier_value_batch.circom index 5fab9ac..5f4fabe 100644 --- a/zkp/circuits/check_nullifier_value_batch.circom +++ b/zkp/circuits/check_nullifier_value_batch.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-nullifier-value-base.circom"; diff --git a/zkp/circuits/check_nullifiers.circom b/zkp/circuits/check_nullifiers.circom index 102e11d..b19c5b1 100644 --- a/zkp/circuits/check_nullifiers.circom +++ b/zkp/circuits/check_nullifiers.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-hashes.circom"; include "./lib/check-nullifiers.circom"; diff --git a/zkp/circuits/gen-config.json b/zkp/circuits/gen-config.json index 84200d9..e4a0f3c 100644 --- a/zkp/circuits/gen-config.json +++ b/zkp/circuits/gen-config.json @@ -1,64 +1,66 @@ { - "circomVersion": "2.1.9", - "anon": { - "ptau": "powersOfTau28_hez_final_12", - "batchPtau": "powersOfTau28_hez_final_14", - "skipSolidityGenaration": false - }, - "anon_enc": { - "ptau": "powersOfTau28_hez_final_14", - "batchPtau": "powersOfTau28_hez_final_16", - "skipSolidityGenaration": false - }, - "anon_nullifier": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "anon_nullifier_kyc": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "anon_enc_nullifier_non_repudiation": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "anon_enc_nullifier": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "anon_enc_nullifier_kyc": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "nf_anon": { - "ptau": "powersOfTau28_hez_final_11", - "skipSolidityGenaration": false - }, - "nf_anon_nullifier": { - "ptau": "powersOfTau28_hez_final_15", - "skipSolidityGenaration": false - }, - "check_hashes_value": { - "ptau": "powersOfTau28_hez_final_10", - "skipSolidityGenaration": false - }, - "check_inputs_outputs_value": { - "ptau": "powersOfTau28_hez_final_12", - "batchPtau": "powersOfTau28_hez_final_13", - "skipSolidityGenaration": false - }, - "check_nullifier_value": { - "ptau": "powersOfTau28_hez_final_16", - "batchPtau": "powersOfTau28_hez_final_18", - "skipSolidityGenaration": false - }, - "check_nullifiers": { - "ptau": "powersOfTau28_hez_final_11", - "skipSolidityGenaration": true + "circomVersion": "2.2.1", + "circuits": { + "anon": { + "ptau": "powersOfTau28_hez_final_13", + "batchPtau": "powersOfTau28_hez_final_15", + "skipSolidityGenaration": false + }, + "anon_enc": { + "ptau": "powersOfTau28_hez_final_15", + "batchPtau": "powersOfTau28_hez_final_17", + "skipSolidityGenaration": false + }, + "anon_nullifier": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_19", + "skipSolidityGenaration": false + }, + "anon_nullifier_kyc": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_19", + "skipSolidityGenaration": false + }, + "anon_enc_nullifier_non_repudiation": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_19", + "skipSolidityGenaration": false + }, + "anon_enc_nullifier": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_19", + "skipSolidityGenaration": false + }, + "anon_enc_nullifier_kyc": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_20", + "skipSolidityGenaration": false + }, + "nf_anon": { + "ptau": "powersOfTau28_hez_final_13", + "skipSolidityGenaration": false + }, + "nf_anon_nullifier": { + "ptau": "powersOfTau28_hez_final_16", + "skipSolidityGenaration": false + }, + "check_hashes_value": { + "ptau": "powersOfTau28_hez_final_11", + "skipSolidityGenaration": false + }, + "check_inputs_outputs_value": { + "ptau": "powersOfTau28_hez_final_13", + "batchPtau": "powersOfTau28_hez_final_14", + "skipSolidityGenaration": false + }, + "check_nullifier_value": { + "ptau": "powersOfTau28_hez_final_17", + "batchPtau": "powersOfTau28_hez_final_19", + "skipSolidityGenaration": false + }, + "check_nullifiers": { + "ptau": "powersOfTau28_hez_final_13", + "skipSolidityGenaration": true + } } } diff --git a/zkp/circuits/gen.js b/zkp/circuits/gen.js index f727f72..fd58bac 100644 --- a/zkp/circuits/gen.js +++ b/zkp/circuits/gen.js @@ -45,7 +45,7 @@ const ptauDownload = process.env.PTAU_DOWNLOAD_PATH || argv.ptauDownloadPath; const specificCircuits = argv.c; const verbose = argv.v; const compileOnly = argv.compileOnly; -const parallelLimit = parseInt(process.env.GEN_CONCURRENCY, 10) || 30; // Default to compile 30 circuits in parallel +const parallelLimit = parseInt(process.env.GEN_CONCURRENCY, 10) || 5; // Default to compile 5 circuits in parallel // check env vars if (!circuitsRoot) { @@ -81,9 +81,10 @@ console.log( "\n", ); -// load genConfig +// load configuration const genConfig = require("./gen-config.json"); +const circuits = genConfig.circuits; const toCamelCase = (str) => { return str @@ -151,7 +152,7 @@ const processCircuit = async (circuit, ptau, skipSolidityGenaration) => { } const { stdout: ctOut, stderr: ctErr } = await execAsync( - `circom --O2 ${circomInput} --output ${provingKeysRoot} --r1cs`, + `circom ${circomInput} --output ${provingKeysRoot} --r1cs`, ); if (verbose) { if (ctOut) { @@ -232,6 +233,7 @@ const processCircuit = async (circuit, ptau, skipSolidityGenaration) => { ); fs.writeFileSync(solidityFileTmp, updatedContent); fs.renameSync(solidityFileTmp, solidityFile); + log(circuit, `Circuit process complete`); }; const run = async () => { @@ -243,14 +245,14 @@ const run = async () => { // if specific circuits are provided, check it's in the map for (const circuit of onlyCircuits) { - if (!genConfig[circuit]) { + if (!circuits[circuit]) { console.error(`Error: Unknown circuit: ${circuit}`); process.exit(1); } } } - const circuitsArray = Object.entries(genConfig); + const circuitsArray = Object.entries(circuits); const activePromises = new Set(); for (const [ diff --git a/zkp/circuits/lib/check-hashes-tokenid-uri.circom b/zkp/circuits/lib/check-hashes-tokenid-uri.circom index aa279c4..e73352d 100644 --- a/zkp/circuits/lib/check-hashes-tokenid-uri.circom +++ b/zkp/circuits/lib/check-hashes-tokenid-uri.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/check-hashes.circom b/zkp/circuits/lib/check-hashes.circom index 4311c90..5d46ab8 100644 --- a/zkp/circuits/lib/check-hashes.circom +++ b/zkp/circuits/lib/check-hashes.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/check-inputs-outputs-value-base.circom b/zkp/circuits/lib/check-inputs-outputs-value-base.circom index f38ca5c..ec22449 100644 --- a/zkp/circuits/lib/check-inputs-outputs-value-base.circom +++ b/zkp/circuits/lib/check-inputs-outputs-value-base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./check-positive.circom"; include "./check-hashes.circom"; diff --git a/zkp/circuits/lib/check-nullifier-tokenid-uri.circom b/zkp/circuits/lib/check-nullifier-tokenid-uri.circom index ce3cd33..ff574b8 100644 --- a/zkp/circuits/lib/check-nullifier-tokenid-uri.circom +++ b/zkp/circuits/lib/check-nullifier-tokenid-uri.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/check-nullifier-value-base.circom b/zkp/circuits/lib/check-nullifier-value-base.circom index eb86da9..584d625 100644 --- a/zkp/circuits/lib/check-nullifier-value-base.circom +++ b/zkp/circuits/lib/check-nullifier-value-base.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./check-positive.circom"; include "./check-hashes.circom"; diff --git a/zkp/circuits/lib/check-nullifiers.circom b/zkp/circuits/lib/check-nullifiers.circom index 5f9a4e0..59a8e10 100644 --- a/zkp/circuits/lib/check-nullifiers.circom +++ b/zkp/circuits/lib/check-nullifiers.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/check-positive.circom b/zkp/circuits/lib/check-positive.circom index ca61b43..19f2488 100644 --- a/zkp/circuits/lib/check-positive.circom +++ b/zkp/circuits/lib/check-positive.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/check-smt-proof.circom b/zkp/circuits/lib/check-smt-proof.circom index 67eb043..257ba58 100644 --- a/zkp/circuits/lib/check-smt-proof.circom +++ b/zkp/circuits/lib/check-smt-proof.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/smt/smtverifier.circom"; diff --git a/zkp/circuits/lib/check-sum.circom b/zkp/circuits/lib/check-sum.circom index 4a1f31b..efeef9b 100644 --- a/zkp/circuits/lib/check-sum.circom +++ b/zkp/circuits/lib/check-sum.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; include "../node_modules/circomlib/circuits/comparators.circom"; diff --git a/zkp/circuits/lib/ecdh.circom b/zkp/circuits/lib/ecdh.circom index e41675f..a547b2d 100644 --- a/zkp/circuits/lib/ecdh.circom +++ b/zkp/circuits/lib/ecdh.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; // Copyright © 2024 Kaleido, Inc. // diff --git a/zkp/circuits/lib/encrypt-outputs.circom b/zkp/circuits/lib/encrypt-outputs.circom index bd11400..572b76f 100644 --- a/zkp/circuits/lib/encrypt-outputs.circom +++ b/zkp/circuits/lib/encrypt-outputs.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; include "./ecdh.circom"; include "./encrypt.circom"; diff --git a/zkp/circuits/lib/encrypt.circom b/zkp/circuits/lib/encrypt.circom index 6435a3b..ca97542 100644 --- a/zkp/circuits/lib/encrypt.circom +++ b/zkp/circuits/lib/encrypt.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/comparators.circom"; include "../node_modules/circomlib/circuits/poseidon.circom"; diff --git a/zkp/circuits/lib/poseidon-ex.circom b/zkp/circuits/lib/poseidon-ex.circom index d4129e4..0307c0e 100644 --- a/zkp/circuits/lib/poseidon-ex.circom +++ b/zkp/circuits/lib/poseidon-ex.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; diff --git a/zkp/circuits/lib/poseidon.circom b/zkp/circuits/lib/poseidon.circom index 53dc21d..1e9d585 100644 --- a/zkp/circuits/lib/poseidon.circom +++ b/zkp/circuits/lib/poseidon.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; include "../node_modules/circomlib/circuits/poseidon.circom"; diff --git a/zkp/circuits/nf_anon.circom b/zkp/circuits/nf_anon.circom index abfc8b4..32a2788 100644 --- a/zkp/circuits/nf_anon.circom +++ b/zkp/circuits/nf_anon.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-hashes-tokenid-uri.circom"; include "./lib/ecdh.circom"; diff --git a/zkp/circuits/nf_anon_nullifier.circom b/zkp/circuits/nf_anon_nullifier.circom index 45eca7b..00f1093 100644 --- a/zkp/circuits/nf_anon_nullifier.circom +++ b/zkp/circuits/nf_anon_nullifier.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "./lib/check-nullifier-tokenid-uri.circom"; include "./lib/check-hashes-tokenid-uri.circom"; diff --git a/zkp/js/integration-test/anon.js b/zkp/js/integration-test/anon.js index 76cf9a0..0d04ccd 100644 --- a/zkp/js/integration-test/anon.js +++ b/zkp/js/integration-test/anon.js @@ -24,7 +24,7 @@ const { const { Poseidon, newSalt, loadCircuit } = require("../index.js"); const { loadProvingKeys } = require("./utils.js"); -const ZERO_PUBKEY = [0, 0]; +const ZERO_PUBKEY = [0n, 0n]; const poseidonHash = Poseidon.poseidon4; describe("main circuit tests for Zeto fungible tokens with anonymity without encryption", () => { @@ -71,7 +71,7 @@ describe("main circuit tests for Zeto fungible tokens with anonymity without enc salt3, ...receiver.pubKey, ]); - const outputCommitments = [output1, 0]; + const outputCommitments = [output1, 0n]; const otherInputs = stringifyBigInts({ inputOwnerPrivateKey: formatPrivKeyForBabyJub(sender.privKey), diff --git a/zkp/js/integration-test/anon_enc.js b/zkp/js/integration-test/anon_enc.js index e879696..ca5e8c5 100644 --- a/zkp/js/integration-test/anon_enc.js +++ b/zkp/js/integration-test/anon_enc.js @@ -30,7 +30,7 @@ const { } = require("../index.js"); const { loadProvingKeys } = require("./utils.js"); -const ZERO_PUBKEY = [0, 0]; +const ZERO_PUBKEY = [0n, 0n]; const poseidonHash = Poseidon.poseidon4; describe("main circuit tests for Zeto fungible tokens with anonymity with encryption", () => { @@ -62,7 +62,7 @@ describe("main circuit tests for Zeto fungible tokens with anonymity with encryp salt1, ...sender.pubKey, ]); - const inputCommitments = [input1, 0]; + const inputCommitments = [input1, 0n]; // create two output UTXOs, they share the same salt, and different owner const salt3 = newSalt(); @@ -71,7 +71,7 @@ describe("main circuit tests for Zeto fungible tokens with anonymity with encryp salt3, ...receiver.pubKey, ]); - const outputCommitments = [output1, 0]; + const outputCommitments = [output1, 0n]; const encryptionNonce = newEncryptionNonce(); const ephemeralKeypair = genKeypair(); @@ -85,11 +85,11 @@ describe("main circuit tests for Zeto fungible tokens with anonymity with encryp { inputCommitments, inputValues, - inputSalts: [salt1, 0], + inputSalts: [salt1, 0n], inputOwnerPrivateKey: formatPrivKeyForBabyJub(sender.privKey), outputCommitments, outputValues, - outputSalts: [salt3, 0], + outputSalts: [salt3, 0n], outputOwnerPublicKeys: [receiver.pubKey, ZERO_PUBKEY], ...encryptInputs, }, diff --git a/zkp/js/integration-test/utils.js b/zkp/js/integration-test/utils.js index 56143f7..6d121a1 100644 --- a/zkp/js/integration-test/utils.js +++ b/zkp/js/integration-test/utils.js @@ -25,6 +25,14 @@ function provingKeysRoot() { return PROVING_KEYS_ROOT; } +function circuitsRoot() { + const CIRCUITS_ROOT = process.env.CIRCUITS_ROOT; + if (!CIRCUITS_ROOT) { + throw new Error("CIRCUITS_ROOT env var is not set"); + } + return CIRCUITS_ROOT; +} + function loadProvingKeys(type) { const provingKeyFile = path.join(provingKeysRoot(), `${type}.zkey`); const verificationKey = JSON.parse( @@ -34,6 +42,7 @@ function loadProvingKeys(type) { ); return { provingKeyFile, + wasmFile: path.join(circuitsRoot(), `${type}_js/${type}.wasm`), verificationKey, }; } diff --git a/zkp/js/test/check_hashes_value.js b/zkp/js/test/check_hashes_value.js index 630d8a6..1bff94f 100644 --- a/zkp/js/test/check_hashes_value.js +++ b/zkp/js/test/check_hashes_value.js @@ -14,37 +14,47 @@ // See the License for the specific language governing permissions and // limitations under the License. -const { expect } = require('chai'); -const { join } = require('path'); -const { wasm: wasm_tester } = require('circom_tester'); -const { genKeypair } = require('maci-crypto'); -const { Poseidon, newSalt } = require('../index.js'); +const { expect } = require("chai"); +const { join } = require("path"); +const { wasm: wasm_tester } = require("circom_tester"); +const { genKeypair } = require("maci-crypto"); +const { Poseidon, newSalt } = require("../index.js"); const MAX_VALUE = 2n ** 100n - 1n; const poseidonHash = Poseidon.poseidon4; -describe('check_hashes_value circuit tests', () => { +describe("check_hashes_value circuit tests", () => { let circuit; const sender = {}; before(async function () { this.timeout(60000); - circuit = await wasm_tester(join(__dirname, '../../circuits/check_hashes_value.circom')); + circuit = await wasm_tester( + join(__dirname, "../../circuits/check_hashes_value.circom"), + ); let keypair = genKeypair(); sender.privKey = keypair.privKey; sender.pubKey = keypair.pubKey; }); - it('should return true for valid witness', async () => { + it("should return true for valid witness", async () => { const outputValues = [100, 200]; // create the output UTXO const salt1 = newSalt(); const salt2 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0]), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt2, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0]), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt2, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let witness = await circuit.calculateWitness( @@ -54,20 +64,28 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt2], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); expect(witness[1]).to.equal(BigInt(300)); // index 1 is the output, for the calculated value }); - it('should return true for valid witness (using 0 value for one of the outputs)', async () => { + it("should return true for valid witness (using 0 value for one of the outputs)", async () => { const outputValues = [300, 0]; // create the output UTXO const salt1 = newSalt(); const salt2 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0]), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt2, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0]), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt2, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let witness = await circuit.calculateWitness( @@ -77,19 +95,27 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt2], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); expect(witness[1]).to.equal(BigInt(300)); // index 1 is the output, for the calculated value }); - it('should fail to generate a witness because of invalid output commitments', async () => { + it("should fail to generate a witness because of invalid output commitments", async () => { const outputValues = [100, 200]; // create the output UTXO const salt1 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0] + 100), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt1, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0] + 100), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt1, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let error; @@ -101,7 +127,7 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt1], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); } catch (e) { error = e; @@ -110,15 +136,23 @@ describe('check_hashes_value circuit tests', () => { expect(error).to.match(/Error in template CheckHashes_80 line: 47/); // hash check failed }); - it('should fail to generate a witness because of negative values in output commitments', async () => { + it("should fail to generate a witness because of negative values in output commitments", async () => { // in the finite field used in the Poseidion hash implementation, -100n is equivalent to // 21888242871839275222246405745257275088548364400416034343698204186575808495517n const outputValues = [-100, 200]; // create the output UTXO const salt1 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0]), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt1, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0]), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt1, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let error; @@ -130,7 +164,7 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt1], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); } catch (e) { error = e; @@ -139,16 +173,27 @@ describe('check_hashes_value circuit tests', () => { expect(error).to.match(/Error in template CheckPositive_3 line: 36/); // positive range check failed }); - it('should fail to generate a witness because of using the inverse of a negative value in output commitments', async () => { + it("should fail to generate a witness because of using the inverse of a negative value in output commitments", async () => { // in the finite field used in the Poseidion hash implementation, -100n is equivalent to // 21888242871839275222246405745257275088548364400416034343698204186575808495517n. This number // is considered negative by the circuit, because we allow the range of 0 to (2**40 - 1) - const outputValues = [21888242871839275222246405745257275088548364400416034343698204186575808495518n, 100]; + const outputValues = [ + 21888242871839275222246405745257275088548364400416034343698204186575808495518n, + 100, + ]; // create the output UTXO const salt1 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0]), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt1, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0]), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt1, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let error; @@ -160,7 +205,7 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt1], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); } catch (e) { error = e; @@ -169,13 +214,21 @@ describe('check_hashes_value circuit tests', () => { expect(error).to.match(/Error in template CheckPositive_3 line: 36/); // positive range check failed }); - it('should fail to generate a witness because a larger than MAX_VALUE is used in output', async () => { + it("should fail to generate a witness because a larger than MAX_VALUE is used in output", async () => { const outputValues = [MAX_VALUE + 1n, 0]; // create the output UTXO const salt1 = newSalt(); - const output1 = poseidonHash([BigInt(outputValues[0]), salt1, ...sender.pubKey]); - const output2 = poseidonHash([BigInt(outputValues[1]), salt1, ...sender.pubKey]); + const output1 = poseidonHash([ + BigInt(outputValues[0]), + salt1, + ...sender.pubKey, + ]); + const output2 = poseidonHash([ + BigInt(outputValues[1]), + salt1, + ...sender.pubKey, + ]); const outputCommitments = [output1, output2]; let error; @@ -187,7 +240,7 @@ describe('check_hashes_value circuit tests', () => { outputSalts: [salt1, salt1], outputOwnerPublicKeys: [sender.pubKey, sender.pubKey], }, - true + true, ); } catch (e) { error = e; diff --git a/zkp/js/test/circuits/check-hashes-tokenid-uri.circom b/zkp/js/test/circuits/check-hashes-tokenid-uri.circom index 504d406..3cb9038 100644 --- a/zkp/js/test/circuits/check-hashes-tokenid-uri.circom +++ b/zkp/js/test/circuits/check-hashes-tokenid-uri.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-hashes-tokenid-uri.circom"; diff --git a/zkp/js/test/circuits/check-hashes.circom b/zkp/js/test/circuits/check-hashes.circom index 607e701..9e29e95 100644 --- a/zkp/js/test/circuits/check-hashes.circom +++ b/zkp/js/test/circuits/check-hashes.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-hashes.circom"; diff --git a/zkp/js/test/circuits/check-nullifier-tokenid-uri.circom b/zkp/js/test/circuits/check-nullifier-tokenid-uri.circom index e786535..75ecbcd 100644 --- a/zkp/js/test/circuits/check-nullifier-tokenid-uri.circom +++ b/zkp/js/test/circuits/check-nullifier-tokenid-uri.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-nullifier-tokenid-uri.circom"; diff --git a/zkp/js/test/circuits/check-nullifiers.circom b/zkp/js/test/circuits/check-nullifiers.circom index f42a503..6e51232 100644 --- a/zkp/js/test/circuits/check-nullifiers.circom +++ b/zkp/js/test/circuits/check-nullifiers.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-nullifiers.circom"; diff --git a/zkp/js/test/circuits/check-positive.circom b/zkp/js/test/circuits/check-positive.circom index c9eb265..b0445e1 100644 --- a/zkp/js/test/circuits/check-positive.circom +++ b/zkp/js/test/circuits/check-positive.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-positive.circom"; diff --git a/zkp/js/test/circuits/check-smt-proof.circom b/zkp/js/test/circuits/check-smt-proof.circom index cee7046..b0f22b7 100644 --- a/zkp/js/test/circuits/check-smt-proof.circom +++ b/zkp/js/test/circuits/check-smt-proof.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-smt-proof.circom"; diff --git a/zkp/js/test/circuits/check-sum.circom b/zkp/js/test/circuits/check-sum.circom index 62ca46a..1210fc3 100644 --- a/zkp/js/test/circuits/check-sum.circom +++ b/zkp/js/test/circuits/check-sum.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/check-sum.circom"; diff --git a/zkp/js/test/circuits/ecdh.circom b/zkp/js/test/circuits/ecdh.circom index 09ed416..61ce85d 100644 --- a/zkp/js/test/circuits/ecdh.circom +++ b/zkp/js/test/circuits/ecdh.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/ecdh.circom"; diff --git a/zkp/js/test/circuits/encrypt.circom b/zkp/js/test/circuits/encrypt.circom index 66239f6..afe5f20 100644 --- a/zkp/js/test/circuits/encrypt.circom +++ b/zkp/js/test/circuits/encrypt.circom @@ -13,7 +13,7 @@ // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. // See the License for the specific language governing permissions and // limitations under the License. -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/encrypt.circom"; diff --git a/zkp/js/test/circuits/poseidon-ex.circom b/zkp/js/test/circuits/poseidon-ex.circom index 29b8d33..246aee7 100644 --- a/zkp/js/test/circuits/poseidon-ex.circom +++ b/zkp/js/test/circuits/poseidon-ex.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/poseidon-ex.circom"; diff --git a/zkp/js/test/circuits/poseidon.circom b/zkp/js/test/circuits/poseidon.circom index 861c14f..25fc799 100644 --- a/zkp/js/test/circuits/poseidon.circom +++ b/zkp/js/test/circuits/poseidon.circom @@ -1,4 +1,4 @@ -pragma circom 2.1.9; +pragma circom 2.2.1; include "../../../circuits/lib/poseidon.circom"; From b2d00e2b5fac84adc0ad038c0034a533d13b4c9b Mon Sep 17 00:00:00 2001 From: Chengxuan Xing Date: Sat, 7 Dec 2024 09:56:05 +0000 Subject: [PATCH 2/4] match github runner core number Signed-off-by: Chengxuan Xing --- zkp/circuits/gen.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/zkp/circuits/gen.js b/zkp/circuits/gen.js index fd58bac..fd3a84d 100644 --- a/zkp/circuits/gen.js +++ b/zkp/circuits/gen.js @@ -45,7 +45,7 @@ const ptauDownload = process.env.PTAU_DOWNLOAD_PATH || argv.ptauDownloadPath; const specificCircuits = argv.c; const verbose = argv.v; const compileOnly = argv.compileOnly; -const parallelLimit = parseInt(process.env.GEN_CONCURRENCY, 10) || 5; // Default to compile 5 circuits in parallel +const parallelLimit = parseInt(process.env.GEN_CONCURRENCY, 10) || 4; // Default to compile 4 circuits in parallel // check env vars if (!circuitsRoot) { From 0cd08c9e749c5c143c05e1e8499082ba64d66416 Mon Sep 17 00:00:00 2001 From: Chengxuan Xing Date: Sat, 7 Dec 2024 10:40:42 +0000 Subject: [PATCH 3/4] longer timeout for the batch run Signed-off-by: Chengxuan Xing --- solidity/test/zeto_anon_enc_nullifier.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/solidity/test/zeto_anon_enc_nullifier.ts b/solidity/test/zeto_anon_enc_nullifier.ts index ad8893a..ddaaf37 100644 --- a/solidity/test/zeto_anon_enc_nullifier.ts +++ b/solidity/test/zeto_anon_enc_nullifier.ts @@ -263,7 +263,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti // Alice checks her ERC20 balance const endingBalance = await erc20.balanceOf(Alice.ethAddress); expect(endingBalance - startingBalance).to.be.equal(3); - }); + }).timeout(60000); it("mint ERC20 tokens to Alice to deposit to Zeto should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); From e8e3c32f1d3c2e7ce421f0747f54566ab95931e4 Mon Sep 17 00:00:00 2001 From: Chengxuan Xing Date: Tue, 10 Dec 2024 07:34:04 +0000 Subject: [PATCH 4/4] adding timeout to all batch tests Signed-off-by: Chengxuan Xing --- solidity/test/zeto_anon.ts | 2 +- solidity/test/zeto_anon_enc.ts | 2 +- solidity/test/zeto_anon_enc_nullifier_kyc.ts | 2 +- solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts | 2 +- solidity/test/zeto_anon_nullifier.ts | 2 +- solidity/test/zeto_anon_nullifier_kyc.ts | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/solidity/test/zeto_anon.ts b/solidity/test/zeto_anon.ts index 2e1641a..5a33699 100644 --- a/solidity/test/zeto_anon.ts +++ b/solidity/test/zeto_anon.ts @@ -226,7 +226,7 @@ describe("Zeto based fungible token with anonymity without encryption or nullifi // now Bob can reconstruct the UTXO using the information received from Alice utxo3 = newUTXO(receivedValue, Bob, receivedSalt); - }); + }).timeout(60000); it("Bob transfers UTXOs, previously received from Alice, honestly to Charlie should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); diff --git a/solidity/test/zeto_anon_enc.ts b/solidity/test/zeto_anon_enc.ts index 9c31e86..0e29e3c 100644 --- a/solidity/test/zeto_anon_enc.ts +++ b/solidity/test/zeto_anon_enc.ts @@ -200,7 +200,7 @@ describe("Zeto based fungible token with anonymity and encryption", function () .connect(Alice.signer) .deposit(100, outputCommitments, encodedProof, "0x"); await tx2.wait(); - }); + }).timeout(60000); it("mint to Alice and transfer UTXOs honestly to Bob should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); diff --git a/solidity/test/zeto_anon_enc_nullifier_kyc.ts b/solidity/test/zeto_anon_enc_nullifier_kyc.ts index 0df4124..a810791 100644 --- a/solidity/test/zeto_anon_enc_nullifier_kyc.ts +++ b/solidity/test/zeto_anon_enc_nullifier_kyc.ts @@ -325,7 +325,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti // Alice checks her ERC20 balance const endingBalance = await erc20.balanceOf(Alice.ethAddress); expect(endingBalance - startingBalance).to.be.equal(3); - }); + }).timeout(60000); it("mint ERC20 tokens to Alice to deposit to Zeto should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); diff --git a/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts b/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts index e5db4f3..c69509f 100644 --- a/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts +++ b/solidity/test/zeto_anon_enc_nullifier_non_repudiation.ts @@ -319,7 +319,7 @@ describe("Zeto based fungible token with anonymity using nullifiers and encrypti // Alice checks her ERC20 balance const endingBalance = await erc20.balanceOf(Alice.ethAddress); expect(endingBalance - startingBalance).to.be.equal(3); - }); + }).timeout(60000); it("mint ERC20 tokens to Alice to deposit to Zeto should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); diff --git a/solidity/test/zeto_anon_nullifier.ts b/solidity/test/zeto_anon_nullifier.ts index ea9840d..7b4e925 100644 --- a/solidity/test/zeto_anon_nullifier.ts +++ b/solidity/test/zeto_anon_nullifier.ts @@ -235,7 +235,7 @@ describe("Zeto based fungible token with anonymity using nullifiers without encr // Alice checks her ERC20 balance const endingBalance = await erc20.balanceOf(Alice.ethAddress); expect(endingBalance - startingBalance).to.be.equal(3); - }); + }).timeout(60000); it("mint ERC20 tokens to Alice to deposit to Zeto should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress); diff --git a/solidity/test/zeto_anon_nullifier_kyc.ts b/solidity/test/zeto_anon_nullifier_kyc.ts index 0765923..4511ff9 100644 --- a/solidity/test/zeto_anon_nullifier_kyc.ts +++ b/solidity/test/zeto_anon_nullifier_kyc.ts @@ -297,7 +297,7 @@ describe("Zeto based fungible token with anonymity, KYC, using nullifiers withou // Alice checks her ERC20 balance const endingBalance = await erc20.balanceOf(Alice.ethAddress); expect(endingBalance - startingBalance).to.be.equal(3); - }); + }).timeout(60000); it("mint ERC20 tokens to Alice to deposit to Zeto should succeed", async function () { const startingBalance = await erc20.balanceOf(Alice.ethAddress);