0 txs
0 calls
constructor
No constructor.
functions
hashPublicValues
purefunction hashPublicValues(bytes publicValues) pure returns (bytes32)
VERIFIER_HASH
purefunction VERIFIER_HASH() pure returns (bytes32)
Verify
viewfunction Verify(bytes proof, uint256[] public_inputs) view returns (bool success)
verifyProof
viewfunction verifyProof(bytes32 programVKey, bytes publicValues, bytes proofBytes) view
VERSION
purefunction VERSION() pure returns (string)
events
No events.
errors
InvalidProof
error InvalidProof()
WrongVerifierSelector
error WrongVerifierSelector(bytes4 received, bytes4 expected)
creation bytecode
0x6080604052348015600f57600080fd5b506126a28061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632a5104361461005c57806341493c60146100915780636b61d8e7146100a65780637e4f7a8a146100b9578063ffa1ad74146100dc575b600080fd5b7fc430ff7f31a22c5f7607f3ed2a2f5621af340bc45a44179319cba5761664e1f05b6040519081526020015b60405180910390f35b6100a461009f366004612314565b610104565b005b61007e6100b4366004612393565b6102a0565b6100cc6100c73660046123d5565b610307565b6040519015158152602001610088565b6040805180820182526006815265076312e312e360d41b602082015290516100889190612479565b600061011360048284866124c7565b61011c916124f1565b90507fc430ff7f31a22c5f7607f3ed2a2f5621af340bc45a44179319cba5761664e1f063c430ff7f60e01b6001600160e01b03198316146101885760405163988066a160e01b81526001600160e01b031980841660048301528216602482015260440160405180910390fd5b600061019487876102a0565b60408051600280825260608201835292935060009290916020830190803683370190505090508860001c816000815181106101d1576101d1612529565b6020026020010181815250508160001c816001815181106101f4576101f4612529565b6020908102919091010152600030637e4f7a8a610214886004818c6124c7565b856040518463ffffffff1660e01b81526004016102339392919061253f565b602060405180830381865afa158015610250573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061027491906125ba565b905080610294576040516309bde33960e01b815260040160405180910390fd5b50505050505050505050565b60006001600160fd1b0360001b600284846040516102bf9291906125e3565b602060405180830381855afa1580156102dc573d6000803e3d6000fd5b5050506040513d601f19601f820116820180604052508101906102ff91906125f3565b169392505050565b6000604051610240810161031a846105fd565b6103248585610610565b61032d8661064e565b61033687610664565b600061034386868a610781565b905061034e81610aa7565b905061035a8189610afc565b90506103668189610b79565b50606082015160008051602061262d83398151915260008051602061264d8339815191526103998463020000008561227e565b086101c0840152506103ac818587610bd2565b6103b782868a610e22565b915060008051602061262d8339815191528183086101a0840152506103dc9050611121565b6103e586611f8e565b6103ee86611edf565b6103f786611cb5565b61040086611803565b610409866115be565b61041286611206565b610200015190506122c3565b60405162461bcd60e51b815260206004820152601d60248201527f77726f6e67206e756d626572206f66207075626c696320696e707574730000006044820152606481fd5b60405162461bcd60e51b815260206004820152601260248201527132b93937b91032b19037b832b930ba34b7b760711b6044820152606481fd5b60405162461bcd60e51b815260206004820152601860248201527f696e707574732061726520626967676572207468616e207200000000000000006044820152606481fd5b60405162461bcd60e51b815260206004820152601060248201526f77726f6e672070726f6f662073697a6560801b6044820152606481fd5b60405162461bcd60e51b815260206004820152601660248201527537b832b734b733b9903134b3b3b2b9103a3430b7103960511b6044820152606481fd5b60405162461bcd60e51b815260206004820152600d60248201526c6572726f722070616972696e6760981b6044820152606481fd5b60405162461bcd60e51b815260206004820152600c60248201526b6572726f722076657269667960a01b6044820152606481fd5b60405162461bcd60e51b81526020600482015260146024820152736572726f722072616e646f6d2067656e206b7a6760601b6044820152606481fd5b6002811461060d5761060d61041e565b50565b60005b818110156106495760008051602061264d8339815191528335111561063a5761063a61049d565b60209290920191600101610613565b505050565b610360818114610660576106606104e2565b5050565b610180810160008051602061264d833981519152813511156106885761068861051a565b506101a0810160008051602061264d833981519152813511156106ad576106ad61051a565b506101c0810160008051602061264d833981519152813511156106d2576106d261051a565b506101e0810160008051602061264d833981519152813511156106f7576106f761051a565b50610200810160008051602061264d8339815191528135111561071c5761071c61051a565b50610260810160008051602061264d833981519152813511156107415761074161051a565b50610300810160005b60018110156106495760008051602061264d833981519152823511156107725761077261051a565b6020919091019060010161074a565b600060405161024081016467616d6d6181527f03bd34c824318212b17d6f525d4b3de7ecb2bbeaf28a94d742744f26e7746c1e60208201527f206fa855682e90d25a671fe04b6a49f16c18e20118771f06d74a72b0d65eb9a360408201527f12c498802720703e8785996b1dc9a2bfa8178ddbdc5d1d59182e1f16af70397b60608201527f2eba0aa189bc550c32e2cca647ab6a7b206886eabf7a39c77d6fb5faaa2132bf60808201527f0f5cfc2f8ce11184e3fa70c99295e1a0a6300f58e4f828e6a50c35d3480d288760a08201527f04cb0ed31f2095f6d6fe5511eab46b8edd98f8e1e8f12e6511bbb31b06e6b8c060c08201527f2df74c9df7fab4c4a3f3422a93be41a0a5bcf15f5125d1cda2b9b087babd4d0f60e08201527f0b8dd89a9517acfe97ec31d7fff285d94b364bf724ae1dbe7eb25543622863766101008201527f272493f6ed2aa9774e887d35c72f26209c546fbb8b7ae09e0f0494ac2e8511816101208201527f197005946f3b12fc9be26e44ce407df7fe8cc1b57378dd5a441dc187b960405c6101408201527f1315c05a85c08181a39de0be7259bb0103faa576fd24a49cf293136a64e9be636101608201527f28b68e97b0c1e8f59a7067691a6f909bbf3ebd18a5261744c4e7ba9cdba297846101808201527f11e1a0d6eec434f5dbb8d6877434df9c80b0670575f03f8bab575c73524e32716101a08201527f0a90de9f93bf1fcb5bbbd5f207cd8cfe413ce7ef7a9109ceaa7d2ab4e368f0906101c08201527f16caf8ef8960624b243c22c993674cc80a0986098d601e2f89e049e903b0c08c6101e08201527f05bb29d39aafdb5d337abe750449ba91b24ca09fd90a4f2d7c39a00a8751402d6102008201527f215f41d78b60bbf7106e49563212888c4bc0b349f47f7c3d71e1ad99ffaab1606102208201527f06c211d240dcd9f90d5ae3f8deb56a4c036c5d1a62bf5417bca13574ba95dd18610240820152610260810160208602808883379081019060c0808784375061030501905060208282601b820160025afa905080610a8357610a8361058d565b50805192505060008051602061262d83398151915282066040820152509392505050565b600060405161024060405101636265746181528360208201526020816024601c840160025afa80610ada57610ada61058d565b50805192505060008051602061262d8339815191528206602082015250919050565b600060405161024060405101606564616c7068618252602082018681526020810190506103208601600160400280828437928301929190910190506040610220870182375060208282601b850160025afa905080610b5c57610b5c61058d565b505160008051602061262d83398151915281069091529392505050565b60405161024060405101637a657461815283602082015260c0808401604083013760208160e4601c840160025afa80610bb457610bb461058d565b505160008051602061262d8339815191529006606091909101525050565b600060405160608101516101c0820151915085610bf181878585610c4a565b60009250600091505b85821015610c405760008051602061262d8339815191528535825109925060008051602061262d8339815191528385086020958601959094506001929092019101610bfa565b5050509392505050565b60008051602061262d8339815191527f30644e5aaf0a66b91f8030da595e7d1c6787b9b45fc54c546729acf1ff053609830960018560005b86811015610cdf5760008051602061262d8339815191528360008051602061262d833981519152038608825260008051602061262d83398151915260008051602061260d8339815191528409925060209190910190600101610c82565b50610ceb818789610d5c565b50600190508560005b86811015610d525760008051602061262d8339815191528360008051602061262d8339815191528685510909825260208201915060008051602061262d83398151915260008051602061260d83398151915284099250600101610cf4565b5050505050505050565b600183526000805b83811015610da057818501518284015160008051602061262d833981519152818309905060208401935080848801525050600181019050610d64565b506020810382019150808401935050610dcf60208401600260008051602061262d83398151915203855161227e565b60005b83811015610e1b57602085039450825160008051602061262d83398151915286518409845260008051602061262d833981519152818409601f1990940193925050600101610dd2565b5050505050565b600060405160608101516101c082015191506103208401600080610e4c8960208501358535610f54565b9150610e608963014042ac8a018787610e84565b905060008051602061262d8339815191528082840987089998505050505050505050565b6000610e9f858560008051602061260d83398151915261227e565b60008051602061262d8339815191528160008051602061262d833981519152038408945060008051602061262d8339815191527f30644e5aaf0a66b91f8030da595e7d1c6787b9b45fc54c546729acf1ff05360982099050610f22867f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff8761227e565b945060008051602061262d833981519152858209905060008051602061262d8339815191528482099695505050505050565b600083526000602084015280604084015250806060830152506000608082015360306081820153600060828201536042608382015360536084820153604260858201536032608682015360326087820153602d608882015360506089820153606c608a820153606f608b820153606e608c820153606b608d820153600b608e8201536000602082608f8460025afa80610fef57610fef61058d565b8251600160208501536042602185015360536022850153604260238501536032602485015360326025850153602d602685015360506027850153606c6028850153606f6029850153606e602a850153606b602b850153600b602c850153602084602d8660025afa9150816110655761106561058d565b8351186020840152600260408401536042604184015360536042840153604260438401536032604484015360326045840153602d604684015360506047840153606c6048840153606f6049840153606e604a840153606b604b840153600b604c84015360208301602081602d8360025afa915050806110e6576110e661058d565b5060008051602061262d833981519152600160801b8351099050602082015160801c60008051602061262d8339815191528183089392505050565b604051610240604051016101c082015160008051602061262d833981519152600160008051602061262d83398151915203606085015108611183837f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffffff8361227e565b905060008051602061262d8339815191527f30644e5aaf0a66b91f8030da595e7d1c6787b9b45fc54c546729acf1ff0536098209905060008051602061262d83398151915282820984519350915060008051602061262d8339815191529050828209905060008051602061262d8339815191528282099050806080840152505050565b60405161024081016101608201518152610180820151602082015261028083013560408201526102a08301356060820152610220830135608082015261024083013560a08201526102c083013560c08201526102e083013560e082015260608201516101008201526101e08201516101208201526020816101408360025afa80611292576112926105c1565b60008051602061262d83398151915282510690508160408101925061028085013581526102a085013560208201526112d083836102c0880184612209565b61016084016112e58484610220890184612209565b61014085016112f984610260890183612250565b7f1fa4be93b5e7f7e674d5059b63554fab99638b304ed8310e9fa44c281ac9b03b85527f1a01ae7fac6228e39d3cb5a5e71fd31160f3241e79a5f48ffb3737e6c389b7216020860152805160408087019182529095908160608160075afa9150816113665761136661058d565b60208101915081517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703825261139e86828586612100565b5050836040850194506113bb8560608801516102808a0184612197565b60008051602061262d83398151915260008051602061260d833981519152606088015109955060008051602061262d833981519152868509935061140585856102c08a0184612209565b61141185828485612100565b50602082810180517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd470381528251865291810151908501527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260408501527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60608501527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60808501527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60a0850152905160c0840152805160e08401527f22f1acbb03c4508760c2430af35865e7cdf9f3eb1224504fdcc3708ddb954a486101008401527f2a344fad01c2ed0ed73142ae1752429eaea515c6f3f6b941103cc21c2308e1cb6101208401527f159f15b842ba9c8449aa3268f981010d4c7142e5193473d80b464e964845c3f86101408401527f0efd30ac7b6f8d0d3ccbc2207587c2acbad1532dc0293f0d034cf8258cd428b36101608401529250610649905081604051602060006101808460085afa806115af576115af610558565b50600051610200919091015250565b6040516101e081015160e0820151610160830190815261010083015161018084015261012083015161014084015261024083019161026084019161028085019190819061160d86838a84612209565b611620826101808a016101408a01612250565b60008051602061262d8339815191528383099150611643868360408b0184612209565b611656826101a08a016101408a01612250565b60008051602061262d8339815191528383099150611679868360808b0184612209565b61168c826101c08a016101408a01612250565b60008051602061262d83398151915283830991507f03bd34c824318212b17d6f525d4b3de7ecb2bbeaf28a94d742744f26e7746c1e86527f206fa855682e90d25a671fe04b6a49f16c18e20118771f06d74a72b0d65eb9a385526116f2848388846121c2565b611705826101e08a016101408a01612250565b60008051602061262d83398151915283830991507f12c498802720703e8785996b1dc9a2bfa8178ddbdc5d1d59182e1f16af70397b86527f2eba0aa189bc550c32e2cca647ab6a7b206886eabf7a39c77d6fb5faaa2132bf855261176b848388846121c2565b61177e826102008a016101408a01612250565b610300880160008051602061262d83398151915284840992507f215f41d78b60bbf7106e49563212888c4bc0b349f47f7c3d71e1ad99ffaab16087527f06c211d240dcd9f90d5ae3f8deb56a4c036c5d1a62bf5417bca13574ba95dd1886526117e9858489856121c2565b6117f883826101408b01612250565b505050505050505050565b6040516467616d6d616102408201908152606082015161026083015260e08201516102808301526101008201516102a083015260c0836102c08401377f03bd34c824318212b17d6f525d4b3de7ecb2bbeaf28a94d742744f26e7746c1e6101408201527f206fa855682e90d25a671fe04b6a49f16c18e20118771f06d74a72b0d65eb9a36101608201527f12c498802720703e8785996b1dc9a2bfa8178ddbdc5d1d59182e1f16af70397b610180808301919091527f2eba0aa189bc550c32e2cca647ab6a7b206886eabf7a39c77d6fb5faaa2132bf6101a0808401919091527f215f41d78b60bbf7106e49563212888c4bc0b349f47f7c3d71e1ad99ffaab1606101c0808501919091527f06c211d240dcd9f90d5ae3f8deb56a4c036c5d1a62bf5417bca13574ba95dd186101e0808601919091526101208601516102008087019190915293870135610220860152918601356102408501528501356102608401528401356102808301528301356102a08201526102c081016103008401602081833750610260840135602091820152601b906102e5906101e085018285850160025afa92505050806119b9576119b961058d565b506101e001805160008051602061262d8339815191529006905250565b604051610240604051017f2df74c9df7fab4c4a3f3422a93be41a0a5bcf15f5125d1cda2b9b087babd4d0f81527f0b8dd89a9517acfe97ec31d7fff285d94b364bf724ae1dbe7eb25543622863766020820152611a40604082016101808501358360e0860161216c565b7f272493f6ed2aa9774e887d35c72f26209c546fbb8b7ae09e0f0494ac2e85118181527f197005946f3b12fc9be26e44ce407df7fe8cc1b57378dd5a441dc187b960405c6020820152611aa0604082016101a08501358360e086016121c2565b60008051602061262d8339815191526101a0840135610180850135097f1315c05a85c08181a39de0be7259bb0103faa576fd24a49cf293136a64e9be6382527f28b68e97b0c1e8f59a7067691a6f909bbf3ebd18a5261744c4e7ba9cdba297846020830152611b1760408301828460e087016121c2565b507f11e1a0d6eec434f5dbb8d6877434df9c80b0670575f03f8bab575c73524e327181527f0a90de9f93bf1fcb5bbbd5f207cd8cfe413ce7ef7a9109ceaa7d2ab4e368f0906020820152611b78604082016101c08501358360e086016121c2565b7f16caf8ef8960624b243c22c993674cc80a0986098d601e2f89e049e903b0c08c81527f05bb29d39aafdb5d337abe750449ba91b24ca09fd90a4f2d7c39a00a8751402d6020820152611bd3604082018260e0850180612100565b6103008301610320840160005b6001811015611c20578135845260208201356020850152611c0a6040850184358660e089016121c2565b6020929092019160409190910190600101611be0565b5050507f0f5cfc2f8ce11184e3fa70c99295e1a0a6300f58e4f828e6a50c35d3480d288781527f04cb0ed31f2095f6d6fe5511eab46b8edd98f8e1e8f12e6511bbb31b06e6b8c06020820152611c7e60408201858360e086016121c2565b61022083013581526102408301356020820152611ca360408201868360e086016121c2565b610e1b8160a0840160e0850180612100565b604051602081015160408201516060830151600084015160008051602061262d833981519152846102608801350960008051602061262d8339815191526101e0880135860960008051602061262d8339815191526101808901358208905060008051602061262d833981519152858208905060008051602061262d833981519152610200890135870960008051602061262d8339815191526101a08a01358208905060008051602061262d833981519152868208905060008051602061262d83398151915282840960008051602061262d833981519152828209905060008051602061262d833981519152858209905060008051602061262d8339815191526005800960008051602061262d833981519152878a09985060008051602061262d8339815191526101808c01358a08945060008051602061262d833981519152888608945060008051602061262d83398151915260058a09935060008051602061262d8339815191526101a08c01358508935060008051602061262d833981519152888508935060008051602061262d833981519152818a0992505060008051602061262d8339815191526101c08b01358308915060008051602061262d833981519152878308915060008051602061262d833981519152838509975060008051602061262d83398151915282890960008051602061262d8339815191529081039850858909975060008051602061262d83398151915260808a01518908975061029488828c6119d6565b604051600263020000000161024060405101611f008183606086015161227e565b9150611f158183610140870160a08701612197565b611f2881610100860160a0860180612136565b611f37818360a086018061216c565b611f498160c0860160a0860180612136565b611f60816101c085015160a0860160a0870161216c565b505060c00180517f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4703905250565b604051600060008051602061262d83398151915260208301516101e085013509905060008051602061262d83398151915260408301518208905060008051602061262d83398151915261018084013582089050600060008051602061262d833981519152602084015161020086013509905060008051602061262d83398151915260408401518208905060008051602061262d8339815191526101a085013582089050600060008051602061262d83398151915260408501516101c087013508905060008051602061262d833981519152828409925060008051602061262d83398151915281840992505060008051602061262d83398151915260008401518309915060008051602061262d8339815191526102608501358309915060008051602061262d8339815191526101a08401518308608084015190925060008051602061262d833981519152908103915081830860008051602061262d833981519152036101209390930192909252505050565b8151845260208201516020850152825160408501526020830151606085015260408160808660065afa80610e1b57610e1b610463565b8151845260208201516020850152823560408501526020830135606085015260408160808660065afa80610e1b57610e1b610463565b815184526020820151602085015282604085015260408160608660075afa80610e1b57610e1b610463565b813584526020820135602085015282604085015260408160608660075afa80610e1b57610e1b610463565b815184526020820151602085015282604085015260408460608660075afa815160408601526020820151606086015260408260808760065afa1680610e1b57610e1b610463565b813584526020808301359085015260408481018490528460608160075afa815160408601526020820151606086015260408260808760065afa1680610e1b57610e1b610463565b60008051602061262d8339815191528383350960008051602061262d83398151915281835108825250505050565b6020835260208084015260206040840152806060840152508060808301525060008051602061262d83398151915260a0820152600060208260c08460055afa50505190565b949350505050565b60008083601f8401126122dd57600080fd5b50813567ffffffffffffffff8111156122f557600080fd5b60208301915083602082850101111561230d57600080fd5b9250929050565b60008060008060006060868803121561232c57600080fd5b85359450602086013567ffffffffffffffff81111561234a57600080fd5b612356888289016122cb565b909550935050604086013567ffffffffffffffff81111561237657600080fd5b612382888289016122cb565b969995985093965092949392505050565b600080602083850312156123a657600080fd5b823567ffffffffffffffff8111156123bd57600080fd5b6123c9858286016122cb565b90969095509350505050565b600080600080604085870312156123eb57600080fd5b843567ffffffffffffffff81111561240257600080fd5b61240e878288016122cb565b909550935050602085013567ffffffffffffffff81111561242e57600080fd5b8501601f8101871361243f57600080fd5b803567ffffffffffffffff81111561245657600080fd5b8760208260051b840101111561246b57600080fd5b949793965060200194505050565b602081526000825180602084015260005b818110156124a7576020818601810151604086840101520161248a565b506000604082850101526040601f19601f83011684010191505092915050565b600080858511156124d757600080fd5b838611156124e457600080fd5b5050820193919092039150565b80356001600160e01b03198116906004841015612522576001600160e01b0319600485900360031b81901b82161691505b5092915050565b634e487b7160e01b600052603260045260246000fd5b60408152826040820152828460608301376000606084830101526000601f19601f8501168201606081016060848303016020850152808551808352608084019150602087019350600092505b808310156125ae578351825260208201915060208401935060018301925061258b565b50979650505050505050565b6000602082840312156125cc57600080fd5b815180151581146125dc57600080fd5b9392505050565b8183823760009101908152919050565b60006020828403121561260557600080fd5b505191905056fe2a734ebb326341efa19b0361d9130cd47b26b7488dc6d26eeccd4f3eb878331a30644e72e131a029b85045b68181585d2833e84879b9709143e1f593f000000130644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000000a2646970667358221220108b0e0cf5190bde992d7d971683cecca1611208eb93a77b0e724af860ad586464736f6c634300081a0033