diff --git a/ethereum/contracts/zksync/Verifier.sol b/ethereum/contracts/zksync/Verifier.sol index ffb7a629a..a7d558993 100644 --- a/ethereum/contracts/zksync/Verifier.sol +++ b/ethereum/contracts/zksync/Verifier.sol @@ -10,74 +10,75 @@ contract Verifier is Plonk4VerifierWithAccessToDNext { function get_verification_key() public pure returns (VerificationKey memory vk) { vk.num_inputs = 1; - vk.domain_size = 67108864; + vk.domain_size = 67108863; vk.omega = PairingsBn254.new_fr(0x1dba8b5bdd64ef6ce29a9039aca3c0e524395c43b9227b96c75090cc6cc7ec97); // coefficients vk.gate_setup_commitments[0] = PairingsBn254.new_g1( - 0x19af674d98a56e4b530aa94bf82df98768bb214aa1f261b1d1fb6789f9e66d67, - 0x0335e647418f85e76d27feca0cce7027b92b0eabf93888219b9beca066886730 + 0x8fa9d6f0dd6ac1cbeb94ae20fe7a23df05cb1095df66fb561190e615a4037ef, + 0x196dcc8692fe322d21375920559944c12ba7b1ba8b732344cf4ba2e3aa0fc8b4 ); vk.gate_setup_commitments[1] = PairingsBn254.new_g1( - 0x0503f826267486c0a6d73afb4d9a8f0ed019d5d129fcedcbfa0b2970c8a3d7fa, - 0x008af7d231afc190a96c02da5cc6721fcff5e01ba1ad65540a3fde576802d1cd + 0x74aaf5d97bd57551311a8b3e4aa7840bc55896502020b2f43ad6a98d81a443, + 0x2d275a3ad153dc9d89ebb9c9b6a0afd2dde82470554e9738d905c328fbb4c8bc ); vk.gate_setup_commitments[2] = PairingsBn254.new_g1( - 0x0198011f9c1c53811036bc8e0e8002c1b8892001e9ce0cd18110af9a03087421, - 0x25933f6eb6db13720269a863a55db5dd31c96b1ee0da61e34e09f83a59297ca2 + 0x287f1975a9aeaef5d2bb0767b5ef538f76e82f7da01c0cb6db8c6f920818ec4f, + 0x2fff6f53594129f794a7731d963d27e72f385c5c6d8e08829e6f66a9d29a12ea ); vk.gate_setup_commitments[3] = PairingsBn254.new_g1( - 0x17e76e39a1a2e71f32b5cab55c4eef178a632e7d907153e06f53e364dbd2cbc8, - 0x21fccb59891624d9d9d35d0f661afb120ca1f78628b8aa59beeefd4431107e88 + 0x38809fa3d4b7320d43e023454194f0a7878baa7e73a295d2d105260f1c34cbc, + 0x25418b1105cf45b2a3da6c349bab1d9caaf145eaf24d1e8fb92c11654c000781 ); vk.gate_setup_commitments[4] = PairingsBn254.new_g1( - 0x1b041d57c56b8521f2520442e462f755721ab4aeb573487618ce09910a8c6354, - 0x0e4ec17897446c4fd1c36559405a0d2def071c4ad5b9124116db5654129ffed5 + 0x561cafd527ac3f0bc550db77d87cd1c63938f7ec051e62ebf84a5bbe07f9840, + 0x28f87201b4cbe19f1517a1c29ca6d6cb074502ccfed4c31c8931c6992c3eea43 ); vk.gate_setup_commitments[5] = PairingsBn254.new_g1( - 0x2a06f3104a04d0a5272f5e623cdecdce7e06b4aef361be0786f3a6814280d05b, - 0x21541f91d1e19e517d6471dba9f048355896e9a2bf7ececbecbdc63431ecb261 + 0x27e0af572bac6e36d31c33808cb44c0ef8ceee5e2850e916fb01f3747db72491, + 0x1da20087ba61c59366b21e31e4ac6889d357cf11bf16b94d875f94f41525c427 ); vk.gate_setup_commitments[6] = PairingsBn254.new_g1( - 0x204b887749553f1d24bec0f6066088454b586d25fc57d716679517d12082e1ed, - 0x27f989c5dd011c6aaf441068780f3b133eb2bde878843155c85abeec4ab91f11 + 0x2c2bcafea8f93d07f96874f470985a8d272c09c8ed49373f36497ee80bd8da17, + 0x299276cf6dca1a7e3780f6276c5d067403f6e024e83e0cc1ab4c5f7252b7f653 ); vk.gate_setup_commitments[7] = PairingsBn254.new_g1( - 0x1a8cd862024729474b1b5ef122acf86f759433abaefdcfb8fa7e6ad761b112b2, - 0x2a80832c2d1f2e7aa625b720d14b93f628c107ef41d78d492aa123c75d97a848 + 0xba9d4a53e050da25b8410045b634f1ca065ff74acd35bab1a72bf1f20047ef3, + 0x1f1eefc8b0507a08f852f554bd7abcbd506e52de390ca127477a678d212abfe5 ); // gate selectors vk.gate_selectors_commitments[0] = PairingsBn254.new_g1( - 0x1633993f359a7b1738f2fbd69ce7643e423570fb0a6fe55a244bea41596dfc3d, - 0x2cf6203dad1d1295d1793cdd114195c129b0ecc663f4e92917c1490980385a44 + 0x1c6b68d9920620012d85a4850dad9bd6d03ae8bbc7a08b827199e85dba1ef2b1, + 0xf6380560d1b585628ed259289cec19d3a7c70c60e66bbfebfcb70c8c312d91e ); vk.gate_selectors_commitments[1] = PairingsBn254.new_g1( - 0x10f0ab2fda24f693b7851a3c626c5eb3dd1ef9bacc68fdbfe638466f8fc2b949, - 0x15fde64ce1ae3313f039d7b9b7f192fa5a7b0bd80307c67cfed47fae20f008e4 + 0xdfead780e5067181aae631ff734a33fca302773472997daca58ba49dbd20dcc, + 0xf13fa6e356f525d2fd1c533acf2858c0d2b9f0a9b3180f94e1543929c75073 ); // permutation vk.permutation_commitments[0] = PairingsBn254.new_g1( - 0x03a5af959e223de35693573bc896f333fac84cfe4f272c4080bc102e4c4752b3, - 0x102cd8e77890c56a99a9cf9bb964ee3e3b60629e35f60b94a97932903b31cbc6 + 0x14da0045925140101816809d965eb7b23f6674023d2b8e9b6d4688b6a68dbd74, + 0x227c0afdb9cc8b35787e418024e278f743ec5d28a918f76e239baab6f1f64d4e ); vk.permutation_commitments[1] = PairingsBn254.new_g1( - 0x0f4c46be8af3e4fa5e0ce6d2985b1db29177975309e55748da391d2b81c98288, - 0x1c5bed67fe034739a649e373e684120495431377c2d4e81689d678635ea737b2 + 0xdf5e146c6f5c3e0067f43a5dece2377cb50e490e39cb137b60b470b22e1d56a, + 0x14785150291902282bed97ea25c494e50a3b7ecd227c643ed9fff2f642180318 ); vk.permutation_commitments[2] = PairingsBn254.new_g1( - 0x2a990254375e7cc9bec8ab68e5a5ec5ee49de5b2a6b0b33cecb557125aa93b43, - 0x046b3e9a530f72b2a8d3226b1285ce7b656bb112e243750664fe066423bcb4ca + 0x8e4d7500d6c81dc496ceec32a9232d01ace17fd9ae4c66b1c3fa8f16f8935a0, + 0x1ffc8adc78e71c6790fa52b731d3057993fc5b59aa43e74216d5690e0bb7146e ); vk.permutation_commitments[3] = PairingsBn254.new_g1( - 0x281baa0297d9c6d6a8d79caa59fa5dd78efe760dfd4a1ae7575b8b996497e4cc, - 0x22a32326f73a3d070184f7da88ebec776d1ef63207bb2b5e04d28307eeed9c47 + 0x21ad7d922e2f67b027cc399603dd3504c2c6c5c419cec98d22fca608b6a740eb, + 0xfe14421b9a57c612073f3c2c1eb48a1c6168e250bcabc9cbd89399be35a8347 ); - // lookup table commitments + // lookup selector commitment vk.lookup_selector_commitment = PairingsBn254.new_g1( - 0x1035bcc4f67bc18af0db54384cc120d50060121d3b2a4e8698937756b3f73b54, - 0x1b1eebcd824d7b114cd230e0a450b63ff5218a6141bb5bf013a79ba2ab6f7ddb + 0x2f491c662ae53ceb358f57a868dc00b89befa853bd9a449127ea2d46820995bd, + 0x231fe6538634ff8b6fa21ca248fb15e7f43d82eb0bfa705490d24ddb3e3cad77 ); + // lookup table commitments vk.lookup_tables_commitments[0] = PairingsBn254.new_g1( - 0x0ebe0de4a2f39df3b903da484c1641ffdffb77ff87ce4f9508c548659eb22d3c, + 0xebe0de4a2f39df3b903da484c1641ffdffb77ff87ce4f9508c548659eb22d3c, 0x12a3209440242d5662729558f1017ed9dcc08fe49a99554dd45f5f15da5e4e0b ); vk.lookup_tables_commitments[1] = PairingsBn254.new_g1( @@ -85,41 +86,41 @@ contract Verifier is Plonk4VerifierWithAccessToDNext { 0x2c51121fff5b8f58c302f03c74e0cb176ae5a1d1730dec4696eb9cce3fe284ca ); vk.lookup_tables_commitments[2] = PairingsBn254.new_g1( - 0x0138733c5faa9db6d4b8df9748081e38405999e511fb22d40f77cf3aef293c44, + 0x138733c5faa9db6d4b8df9748081e38405999e511fb22d40f77cf3aef293c44, 0x269bee1c1ac28053238f7fe789f1ea2e481742d6d16ae78ed81e87c254af0765 ); vk.lookup_tables_commitments[3] = PairingsBn254.new_g1( 0x1b1be7279d59445065a95f01f16686adfa798ec4f1e6845ffcec9b837e88372e, - 0x057c90cb96d8259238ed86b05f629efd55f472a721efeeb56926e979433e6c0e + 0x57c90cb96d8259238ed86b05f629efd55f472a721efeeb56926e979433e6c0e ); + // table type commitment vk.lookup_table_type_commitment = PairingsBn254.new_g1( - 0x011967367ae87879d15a58c58e4849bc897764ce3f016d5abc04bc7804d6bdf7, - 0x29775ffa2d2ddd439a664e165294f68ea17d6d754bcf4c20a52fbf766eeb1995 + 0x12cd873a6f18a4a590a846d9ebf61565197edf457efd26bc408eb61b72f37b59, + 0x19890cbdac892682e7a5910ca6c238c082130e1c71f33d0c9c901153377770d1 ); // non residues - vk.non_residues[0] = PairingsBn254.new_fr(0x0000000000000000000000000000000000000000000000000000000000000005); - vk.non_residues[1] = PairingsBn254.new_fr(0x0000000000000000000000000000000000000000000000000000000000000007); - vk.non_residues[2] = PairingsBn254.new_fr(0x000000000000000000000000000000000000000000000000000000000000000a); - + vk.non_residues[0] = PairingsBn254.new_fr(0x5); + vk.non_residues[1] = PairingsBn254.new_fr(0x7); + vk.non_residues[2] = PairingsBn254.new_fr(0xa); // g2 elements vk.g2_elements[0] = PairingsBn254.new_g2( [ - 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2, - 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed + 0x198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c2, + 0x1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed ], [ - 0x090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b, - 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa + 0x90689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b, + 0x12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa ] ); vk.g2_elements[1] = PairingsBn254.new_g2( [ - 0x260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1, - 0x0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0 + 0x260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c1, + 0x118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b0 ], [ - 0x04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4, - 0x22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55 + 0x4fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe4, + 0x22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e55 ] ); }