0 txs
2.1k calls
constructor
No constructor.
functions
compressProof
viewfunction compressProof(uint256[8] proof) view returns (uint256[4] compressed)
hashPublicValues
purefunction hashPublicValues(bytes publicValues) pure returns (bytes32)
VERIFIER_HASH
purefunction VERIFIER_HASH() pure returns (bytes32)
Verify
viewfunction Verify(uint256[8] proof, uint256[2] input) view
verifyCompressedProof
viewfunction verifyCompressedProof(uint256[4] compressedProof, uint256[2] input) view
verifyProof
viewfunction verifyProof(bytes32 programVKey, bytes publicValues, bytes proofBytes) view
VERSION
purefunction VERSION() pure returns (string)
events
No events.
errors
InvalidProof
error InvalidProof()
ProofInvalid
error ProofInvalid()
PublicInputNotInField
error PublicInputNotInField()
WrongVerifierSelector
error WrongVerifierSelector(bytes4 received, bytes4 expected)
creation bytecode
0x608060405234801561001057600080fd5b5061188e806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c80636b61d8e71161005b5780636b61d8e7146100ec578063eddf243c146100ff578063f11817b214610112578063ffa1ad741461012557600080fd5b80632a5104361461008257806341493c60146100b757806344f63692146100cc575b600080fd5b7f11b6a09d63d255ad425ee3a7f6211d5ec63fbde9805b40551c3136275b6f4eb45b6040519081526020015b60405180910390f35b6100ca6100c536600461149f565b610152565b005b6100df6100da36600461152b565b610276565b6040516100ae919061154f565b6100a46100fa366004611580565b6102d3565b6100ca61010d3660046115d3565b61033c565b6100ca61012036600461160a565b6105bb565b604080518082018252600b81526a76342e302e302d72632e3360a81b602082015290516100ae9190611645565b60006101616004828486611693565b61016a916116bd565b90507f11b6a09d63d255ad425ee3a7f6211d5ec63fbde9805b40551c3136275b6f4eb46311b6a09d60e01b6001600160e01b03198316146101d65760405163988066a160e01b81526001600160e01b031980841660048301528216602482015260440160405180910390fd5b60006101e287876102d3565b90506101ec6113dd565b888152602081018290526000610205866004818a611693565b81019061021291906116ed565b604051633b77c90f60e21b8152909150309063eddf243c9061023a908490869060040161177a565b60006040518083038186803b15801561025257600080fd5b505afa158015610266573d6000803e3d6000fd5b5050505050505050505050505050565b61027e6113fb565b61029182358360015b60200201356108d9565b81526102af6060830135604084013560a085013560808601356109cd565b602083015260408201526102c960c0830135836007610287565b6060820152919050565b60006001600160fd1b0360001b600284846040516102f29291906117d8565b602060405180830381855afa15801561030f573d6000803e3d6000fd5b5050506040513d601f19601f8201168201806040525081019061033291906117e8565b1690505b92915050565b60008061034883610cc4565b9150915060006040516101008682377f262eabe81511aa8e3034cbd75d42e708aa4ed80303fb0e4fb90cd0ff6e9092136101008201527f2b65c9ae2605f3ef5540d3a64503c84fe5e1d9ec6eb1bd3a906bbc80830e8e546101208201527f1b02985153a1b779a456c3c65bee53bd53efcceec10a7f53be8faa0bd6c8920e6101408201527f1f9334fa2556619b130c61d83ed55c12e450f8f5c542a139c9726cd310ae15476101608201527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e26101808201527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d19266101a08201527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101c08201527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101e08201527e1752a100a72fdf1e5a5d6ea841cc20ec838bccfcf7bd559e79f1c9c759b6a06102008201527f192a8cc13cd9f762871f21e43451c6ca9eeab2cb2987c4e366a185c25dac2e7f61022082015283610240820152826102608201527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808201527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08201527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec6102c08201527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d6102e08201526020816103008360085afa9051169050806105b457604051631ff3747d60e21b815260040160405180910390fd5b5050505050565b6105c3611419565b6000806105d685825b6020020135610e7f565b909250905060008080806105f260408a013560208b0135610f24565b9296509094509250905060008061060a8b60036105cc565b9150915060008061061a8c610cc4565b8b8d5260208d018b905260408d0189905260608d018a905260808d0187905260a08d0188905260c08d0186905260e08d018590527f262eabe81511aa8e3034cbd75d42e708aa4ed80303fb0e4fb90cd0ff6e9092136101008e01527f2b65c9ae2605f3ef5540d3a64503c84fe5e1d9ec6eb1bd3a906bbc80830e8e546101208e01527f1b02985153a1b779a456c3c65bee53bd53efcceec10a7f53be8faa0bd6c8920e6101408e01527f1f9334fa2556619b130c61d83ed55c12e450f8f5c542a139c9726cd310ae15476101608e01527f2d4d9aa7e302d9df41749d5507949d05dbea33fbb16c643b22f599a2be6df2e26101808e01527f14bedd503c37ceb061d8ec60209fe345ce89830a19230301f076caff004d19266101a08e01527f0967032fcbf776d1afc985f88877f182d38480a653f2decaa9794cbc3bf3060c6101c08e01527f0e187847ad4c798374d0d6732bf501847dd68bc0e071241e0213bc7fc13db7ab6101e08e01527e1752a100a72fdf1e5a5d6ea841cc20ec838bccfcf7bd559e79f1c9c759b6a06102008e01527f192a8cc13cd9f762871f21e43451c6ca9eeab2cb2987c4e366a185c25dac2e7f6102208e01526102408d018290526102608d018190527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c26102808e01527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed6102a08e01527f275dc4a288d1afb3cbb1ac09187524c7db36395df7be3b99e673b13a075a65ec6102c08e01527f1d9befcd05a5323e6da4d435f3b617cdb3af83285c2df711ef39c01571827f9d6102e08e01529092509050600061088e611438565b6020816103008f60085afa91508115806108aa57508051600114155b156108c857604051631ff3747d60e21b815260040160405180910390fd5b505050505050505050505050505050565b60006000805160206118398339815191528310158061090657506000805160206118398339815191528210155b1561092457604051631ff3747d60e21b815260040160405180910390fd5b82158015610930575081155b1561093d57506000610336565b600061097c600080516020611839833981519152600360008051602061183983398151915287600080516020611839833981519152898a09090861110a565b9050808303610991575050600182901b610336565b61099a8161116e565b83036109ad575050600182811b17610336565b604051631ff3747d60e21b815260040160405180910390fd5b5092915050565b600080600080516020611839833981519152861015806109fb57506000805160206118398339815191528510155b80610a1457506000805160206118398339815191528410155b80610a2d57506000805160206118398339815191528310155b15610a4b57604051631ff3747d60e21b815260040160405180910390fd5b82848688171717600003610a6457506000905080610cbb565b60008080600080516020611839833981519152610a906003600080516020611839833981519152611817565b6000805160206118398339815191528a8c0909905060006000805160206118398339815191528a6000805160206118398339815191528c8d0909905060006000805160206118398339815191528a6000805160206118398339815191528c8d09099050600080516020611839833981519152806000805160206118398339815191528c860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089450610b89600080516020611839833981519152806000805160206118398339815191528e870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750861116e565b9350505050600080610bda60008051602061183983398151915280610bb057610bb0611801565b6000805160206118398339815191528586096000805160206118398339815191528788090861110a565b9050610c276000805160206118398339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea460008051602061183983398151915284880809611187565b15915050610c368383836111d1565b90935091508683148015610c4957508186145b15610c735780610c5a576000610c5d565b60025b60ff1660028a901b176000179450879350610cb7565b610c7c8361116e565b87148015610c915750610c8e8261116e565b86145b156109ad5780610ca2576000610ca5565b60025b60ff1660028a901b1760011794508793505b5050505b94509492505050565b6000806000600190506040516040810160007f0ed6e0c13f353262ae2dbbe49ce6a0b67576d38aaf5958564be7648356830ef783527f28200d54013565dca196841d0a3cd7a5f67531f9748772f553e1e9845f6c094960208401527f1b611b8f696f28ffb6250c7ffac66efbd638d97f0d6c843c23691c3af532c9e382527f248c1033bd73c4ff820d480a37b39ca6ef178543c5c9190459e8cfe36c48e51a6020830152863590508060408301527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000181108416935060408260608460075afa8416935060408360808560065afa841693507f2974086bde6c91267b201137cfe6ee8cd50ff0a3da861e808503e7df4da87b8d82527f040addd35913f11ea6846f0d583126bab9e8f8ae69797d4c2c7f195be07854716020830152602087013590508060408301527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f00000018110841693505060408160608360075afa831692505060408160808360065afa81516020909201519194509092501680610e795760405163a54f8e2760e01b815260040160405180910390fd5b50915091565b60008082600003610e9557506000928392509050565b600183811c9250808416146000805160206118398339815191528310610ece57604051631ff3747d60e21b815260040160405180910390fd5b610f0b600080516020611839833981519152600360008051602061183983398151915286600080516020611839833981519152888909090861110a565b91508015610e7957610f1c8261116e565b915050915091565b600080808085158015610f35575084155b15610f4b57506000925082915081905080611101565b600286811c9450859350600180881614908088161460008051602061183983398151915286101580610f8b57506000805160206118398339815191528510155b15610fa957604051631ff3747d60e21b815260040160405180910390fd5b6000600080516020611839833981519152610fd36003600080516020611839833981519152611817565b600080516020611839833981519152888a090990506000600080516020611839833981519152886000805160206118398339815191528a8b090990506000600080516020611839833981519152886000805160206118398339815191528a8b09099050600080516020611839833981519152806000805160206118398339815191528a860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e50896506110cc600080516020611839833981519152806000805160206118398339815191528c870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750861116e565b95506110d98787866111d1565b909750955084156110fb576110ed8761116e565b96506110f88661116e565b95505b50505050505b92959194509250565b6000611136827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52611318565b9050816000805160206118398339815191528283091461116957604051631ff3747d60e21b815260040160405180910390fd5b919050565b6000805160206118398339815191529081900681030690565b6000806111b4837f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52611318565b905082600080516020611839833981519152828309149392505050565b6000808061120360008051602061183983398151915280878809600080516020611839833981519152898a090861110a565b90508315611217576112148161116e565b90505b6112626000805160206118398339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4600080516020611839833981519152848a080961110a565b925060008051602061183983398151915261128e6000805160206118398339815191526002860961137d565b860991506000805160206118398339815191526112bb60008051602061183983398151915284850961116e565b60008051602061183983398151915285860908861415806112f15750600080516020611839833981519152808385096002098514155b1561130f57604051631ff3747d60e21b815260040160405180910390fd5b50935093915050565b600080604051602081526020808201526020604082015284606082015283608082015260008051602061183983398151915260a082015260208160c08360055afa905192509050806109c657604051631ff3747d60e21b815260040160405180910390fd5b60006113a9827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45611318565b905060008051602061183983398151915281830960011461116957604051631ff3747d60e21b815260040160405180910390fd5b60405180604001604052806002906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b6040518061030001604052806018906020820280368337509192915050565b60405180602001604052806001906020820280368337509192915050565b60008083601f84011261146857600080fd5b50813567ffffffffffffffff81111561148057600080fd5b60208301915083602082850101111561149857600080fd5b9250929050565b6000806000806000606086880312156114b757600080fd5b85359450602086013567ffffffffffffffff808211156114d657600080fd5b6114e289838a01611456565b909650945060408801359150808211156114fb57600080fd5b5061150888828901611456565b969995985093965092949392505050565b80610100810183101561033657600080fd5b6000610100828403121561153e57600080fd5b6115488383611519565b9392505050565b60808101818360005b6004811015611577578151835260209283019290910190600101611558565b50505092915050565b6000806020838503121561159357600080fd5b823567ffffffffffffffff8111156115aa57600080fd5b6115b685828601611456565b90969095509350505050565b806040810183101561033657600080fd5b60008061014083850312156115e757600080fd5b6115f18484611519565b91506116018461010085016115c2565b90509250929050565b60008060c0838503121561161d57600080fd5b608083018481111561162e57600080fd5b83925061163b85826115c2565b9150509250929050565b600060208083528351808285015260005b8181101561167257858101830151858201604001528201611656565b506000604082860101526040601f19601f8301168501019250505092915050565b600080858511156116a357600080fd5b838611156116b057600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156116e55780818660040360031b1b83161692505b505092915050565b600061010080838503121561170157600080fd5b83601f84011261171057600080fd5b60405181810181811067ffffffffffffffff8211171561174057634e487b7160e01b600052604160045260246000fd5b60405290830190808583111561175557600080fd5b845b8381101561176f578035825260209182019101611757565b509095945050505050565b6101408101818460005b60088110156117a3578151835260209283019290910190600101611784565b50505061010082018360005b60028110156117ce5781518352602092830192909101906001016117af565b5050509392505050565b8183823760009101908152919050565b6000602082840312156117fa57600080fd5b5051919050565b634e487b7160e01b600052601260045260246000fd5b8181038181111561033657634e487b7160e01b600052601160045260246000fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd47a2646970667358221220d8f2a7cf613dea75e3dc2e05bf7c881e8d08c2fff48abb9f93ecad7d1084abdd64736f6c63430008140033