{ "_format": "hh-sol-artifact-1", "contractName": "VAnchorVerifier", "sourceName": "contracts/verifiers/VAnchorVerifier.sol", "abi": [ { "inputs": [ { "internalType": "contract IVAnchorVerifier2_2", "name": "_verifier_2_2", "type": "address" }, { "internalType": "contract IVAnchorVerifier2_16", "name": "_verifier_2_16", "type": "address" }, { "internalType": "contract IVAnchorVerifier8_2", "name": "_verifier_8_2", "type": "address" }, { "internalType": "contract IVAnchorVerifier8_16", "name": "_verifier_8_16", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "v2_16", "outputs": [ { "internalType": "contract IVAnchorVerifier2_16", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "v2_2", "outputs": [ { "internalType": "contract IVAnchorVerifier2_2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "v8_16", "outputs": [ { "internalType": "contract IVAnchorVerifier8_16", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "v8_2", "outputs": [ { "internalType": "contract IVAnchorVerifier8_2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256[2]", "name": "a", "type": "uint256[2]" }, { "internalType": "uint256[2][2]", "name": "b", "type": "uint256[2][2]" }, { "internalType": "uint256[2]", "name": "c", "type": "uint256[2]" }, { "internalType": "bytes", "name": "input", "type": "bytes" }, { "internalType": "uint8", "name": "maxEdges", "type": "uint8" }, { "internalType": "bool", "name": "smallInputs", "type": "bool" } ], "name": "verifyProof", "outputs": [ { "internalType": "bool", "name": "r", "type": "bool" } ], "stateMutability": "view", "type": "function" } ], "bytecode": "0x608060405234801561001057600080fd5b506040516108a43803806108a483398101604081905261002f9161009a565b600080546001600160a01b039586166001600160a01b03199182161790915560018054948616948216949094179093556002805492851692841692909217909155600380549190931691161790556100f9565b6001600160a01b038116811461009757600080fd5b50565b600080600080608085870312156100b057600080fd5b84516100bb81610082565b60208601519094506100cc81610082565b60408601519093506100dd81610082565b60608601519092506100ee81610082565b939692955090935050565b61079c806101086000396000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c80632e4286861461005c57806330ba9e4d1461008c5780638041ca531461009f578063e65f86af146100c2578063f8d50636146100d5575b600080fd5b60005461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60025461006f906001600160a01b031681565b6100b26100ad3660046103e5565b6100e8565b6040519015158152602001610083565b60035461006f906001600160a01b031681565b60015461006f906001600160a01b031681565b60008260ff166001036101de5781156101915760008480602001905181019061011191906104c1565b60005460405163c542c93b60e01b81529192506001600160a01b03169063c542c93b90610148908b908b908b9087906004016105b6565b602060405180830381865afa158015610165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101899190610613565b91505061028d565b6000848060200190518101906101a79190610637565b60015460405163506150cd60e11b81529192506001600160a01b03169063a0c2a19a90610148908b908b908b90879060040161064b565b8260ff1660070361028957811561023c57600084806020019051810190610205919061069c565b60025460405163f054a9a360e01b81529192506001600160a01b03169063f054a9a390610148908b908b908b9087906004016106b0565b6000848060200190518101906102529190610701565b600354604051632a5c50a360e11b81529192506001600160a01b0316906354b8a14690610148908b908b908b908790600401610715565b5060005b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156102d0576102d0610297565b60405290565b600082601f8301126102e757600080fd5b6102ef6102ad565b80604084018581111561030157600080fd5b845b8181101561031b578035845260209384019301610303565b509095945050505050565b600082601f83011261033757600080fd5b813567ffffffffffffffff8082111561035257610352610297565b604051601f8301601f19908116603f0116810190828211818310171561037a5761037a610297565b8160405283815286602085880101111561039357600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146103c457600080fd5b919050565b80151581146103d757600080fd5b50565b80356103c4816103c9565b60008060008060008061016087890312156103ff57600080fd5b61040988886102d6565b9550604088605f89011261041c57600080fd5b6104246102ad565b8060c08a018b81111561043657600080fd5b838b015b8181101561045b5761044c8d826102d6565b8452602090930192840161043a565b508198506104698c826102d6565b97505050505061010087013567ffffffffffffffff81111561048a57600080fd5b61049689828a01610326565b9350506104a661012088016103b3565b91506104b561014088016103da565b90509295509295509295565b60006101208083850312156104d557600080fd5b83601f8401126104e457600080fd5b60405181810181811067ffffffffffffffff8211171561050657610506610297565b60405290830190808583111561051b57600080fd5b845b8381101561031b57805182526020918201910161051d565b8060005b6002811015610558578151845260209384019390910190600101610539565b50505050565b806000805b600280821061057257506105af565b835186845b83811015610595578251825260209283019290910190600101610577565b505050604095909501945060209290920191600101610563565b5050505050565b61022081016105c58287610535565b6105d2604083018661055e565b6105df60c0830185610535565b61010082018360005b60098110156106075781518352602092830192909101906001016105e8565b50505095945050505050565b60006020828403121561062557600080fd5b8151610630816103c9565b9392505050565b60006102e08083850312156104d557600080fd5b6103e0810161065a8287610535565b610667604083018661055e565b61067460c0830185610535565b61010082018360005b601781101561060757815183526020928301929091019060010161067d565b60006101e08083850312156104d557600080fd5b6102e081016106bf8287610535565b6106cc604083018661055e565b6106d960c0830185610535565b61010082018360005b600f8110156106075781518352602092830192909101906001016106e2565b60006103a08083850312156104d557600080fd5b6104a081016107248287610535565b610731604083018661055e565b61073e60c0830185610535565b61010082018360005b601d81101561060757815183526020928301929091019060010161074756fea2646970667358221220548fd5d9af99065ad09efd0183ecd75560e4dbe69f2702b5c824ca7ee92e6f1264736f6c63430008120033", "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c80632e4286861461005c57806330ba9e4d1461008c5780638041ca531461009f578063e65f86af146100c2578063f8d50636146100d5575b600080fd5b60005461006f906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b60025461006f906001600160a01b031681565b6100b26100ad3660046103e5565b6100e8565b6040519015158152602001610083565b60035461006f906001600160a01b031681565b60015461006f906001600160a01b031681565b60008260ff166001036101de5781156101915760008480602001905181019061011191906104c1565b60005460405163c542c93b60e01b81529192506001600160a01b03169063c542c93b90610148908b908b908b9087906004016105b6565b602060405180830381865afa158015610165573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101899190610613565b91505061028d565b6000848060200190518101906101a79190610637565b60015460405163506150cd60e11b81529192506001600160a01b03169063a0c2a19a90610148908b908b908b90879060040161064b565b8260ff1660070361028957811561023c57600084806020019051810190610205919061069c565b60025460405163f054a9a360e01b81529192506001600160a01b03169063f054a9a390610148908b908b908b9087906004016106b0565b6000848060200190518101906102529190610701565b600354604051632a5c50a360e11b81529192506001600160a01b0316906354b8a14690610148908b908b908b908790600401610715565b5060005b9695505050505050565b634e487b7160e01b600052604160045260246000fd5b6040805190810167ffffffffffffffff811182821017156102d0576102d0610297565b60405290565b600082601f8301126102e757600080fd5b6102ef6102ad565b80604084018581111561030157600080fd5b845b8181101561031b578035845260209384019301610303565b509095945050505050565b600082601f83011261033757600080fd5b813567ffffffffffffffff8082111561035257610352610297565b604051601f8301601f19908116603f0116810190828211818310171561037a5761037a610297565b8160405283815286602085880101111561039357600080fd5b836020870160208301376000602085830101528094505050505092915050565b803560ff811681146103c457600080fd5b919050565b80151581146103d757600080fd5b50565b80356103c4816103c9565b60008060008060008061016087890312156103ff57600080fd5b61040988886102d6565b9550604088605f89011261041c57600080fd5b6104246102ad565b8060c08a018b81111561043657600080fd5b838b015b8181101561045b5761044c8d826102d6565b8452602090930192840161043a565b508198506104698c826102d6565b97505050505061010087013567ffffffffffffffff81111561048a57600080fd5b61049689828a01610326565b9350506104a661012088016103b3565b91506104b561014088016103da565b90509295509295509295565b60006101208083850312156104d557600080fd5b83601f8401126104e457600080fd5b60405181810181811067ffffffffffffffff8211171561050657610506610297565b60405290830190808583111561051b57600080fd5b845b8381101561031b57805182526020918201910161051d565b8060005b6002811015610558578151845260209384019390910190600101610539565b50505050565b806000805b600280821061057257506105af565b835186845b83811015610595578251825260209283019290910190600101610577565b505050604095909501945060209290920191600101610563565b5050505050565b61022081016105c58287610535565b6105d2604083018661055e565b6105df60c0830185610535565b61010082018360005b60098110156106075781518352602092830192909101906001016105e8565b50505095945050505050565b60006020828403121561062557600080fd5b8151610630816103c9565b9392505050565b60006102e08083850312156104d557600080fd5b6103e0810161065a8287610535565b610667604083018661055e565b61067460c0830185610535565b61010082018360005b601781101561060757815183526020928301929091019060010161067d565b60006101e08083850312156104d557600080fd5b6102e081016106bf8287610535565b6106cc604083018661055e565b6106d960c0830185610535565b61010082018360005b600f8110156106075781518352602092830192909101906001016106e2565b60006103a08083850312156104d557600080fd5b6104a081016107248287610535565b610731604083018661055e565b61073e60c0830185610535565b61010082018360005b601d81101561060757815183526020928301929091019060010161074756fea2646970667358221220548fd5d9af99065ad09efd0183ecd75560e4dbe69f2702b5c824ca7ee92e6f1264736f6c63430008120033", "linkReferences": {}, "deployedLinkReferences": {} }