@vocdoni/davinci-contracts
Version:
Smart contracts powering DAVINCI's digital voting protocol
150 lines (149 loc) • 19 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.ResultsVerifierBaseGroth16__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
inputs: [],
name: "CommitmentInvalid",
type: "error",
},
{
inputs: [],
name: "ProofInvalid",
type: "error",
},
{
inputs: [],
name: "PublicInputNotInField",
type: "error",
},
{
inputs: [
{
internalType: "uint256[8]",
name: "proof",
type: "uint256[8]",
},
{
internalType: "uint256[2]",
name: "commitments",
type: "uint256[2]",
},
{
internalType: "uint256[2]",
name: "commitmentPok",
type: "uint256[2]",
},
],
name: "compressProof",
outputs: [
{
internalType: "uint256[4]",
name: "compressed",
type: "uint256[4]",
},
{
internalType: "uint256[1]",
name: "compressedCommitments",
type: "uint256[1]",
},
{
internalType: "uint256",
name: "compressedCommitmentPok",
type: "uint256",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256[4]",
name: "compressedProof",
type: "uint256[4]",
},
{
internalType: "uint256[1]",
name: "compressedCommitments",
type: "uint256[1]",
},
{
internalType: "uint256",
name: "compressedCommitmentPok",
type: "uint256",
},
{
internalType: "uint256[9]",
name: "input",
type: "uint256[9]",
},
],
name: "verifyCompressedProof",
outputs: [],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "uint256[8]",
name: "proof",
type: "uint256[8]",
},
{
internalType: "uint256[2]",
name: "commitments",
type: "uint256[2]",
},
{
internalType: "uint256[2]",
name: "commitmentPok",
type: "uint256[2]",
},
{
internalType: "uint256[9]",
name: "input",
type: "uint256[9]",
},
],
name: "verifyProof",
outputs: [],
stateMutability: "view",
type: "function",
},
];
const _bytecode = "0x6080604052348015600f57600080fd5b50611d328061001f6000396000f3fe608060405234801561001057600080fd5b50600436106100415760003560e01c80635d26278e1461004657806360e583461461005b578063b1c3a00e1461006e575b600080fd5b610059610054366004611a90565b610099565b005b610059610069366004611b0d565b6105d7565b61008161007c366004611b5e565b610a50565b60405161009093929190611ba7565b60405180910390f35b6100a1611a05565b6100a9611a23565b6100b1611a41565b6100c28660005b6020020135610ad9565b602084015282526000806100d587610ad9565b8551602080880151604051949650929450606093600080516020611cdd8339815191529361010893929091869101611c20565b6040516020818303038152906040528051906020012060001c61012b9190611c79565b865284518452602085810151858201527f27a5eba62ddd917183c2ee7b5d3e5f2ae1911937483496eaf222dc04d92c8c346040808701919091527f1b7f7d6f3f18a93f25a0fb477f635935c927ac97e6d6f3d28f59d1ca8922c79160608701527f099d0e57c9ab8b9c7b621e5016d21fb0c8ef3b0f6f95dff5136247407962696460808701527f18200ad5c851afdb5e84cc6f383913dfcb659ff333e3ad7239607f7e7731484c60a087015260c0860185905260e086018490527f1d31c618f9e86ac86138dfbb95e70ce4651b545dc20bf7e6c617d0a1171943356101008701527f02ec63033163c24b1aac46ec37b26f226045ab3c294e5d8b8c1e9b02fbcbda956101208701527f28fa21cf73b16a80472d7e28c1bf0c223b521618d6dfc76e0f3ccda55c3b8e406101408701527f26c26daec204c9b77f3dadba4e5e09e0844a31df991db1d6345783feb293c95b61016087015251600091816101808860085afa9051169050806102b1576040516351d49ff760e11b815260040160405180910390fd5b505050506000806102ce896000600481106100b8576100b8611c0a565b909250905060008080806102ea60408e013560208f0135610b7f565b929650909450925090506000806103028f60036100b8565b915091506000806103148e8e8e610d65565b8b8d5260208d018b905260408d0189905260608d018a905260808d0187905260a08d0188905260c08d0186905260e08d018590527f1fec464abb83dd30b44a71beccc4499c0247e202d9a43aab3d617b852463d3ab6101008e01527f0fb4141443f49c5fcdf2e23cf88b3511927f1caee78fcad99c48483b725f3adc6101208e01527f175a61f1773d0cca59cbf4190569d38ba79a8961fb38765249a0e7dd74b54f186101408e01527e852c023aa389d861eb351e217144324f7011b9132ebae7c75df0d1da1358d46101608e01527f18a8e9c254a914e0af96e172307c53e1fa457682abbad8da3536421a04fd3a9c6101808e01527f14b33680c9e7a9c4ad3a174c25f271df7e7fc24a3b0b496e399df83d383209116101a08e01527f1d7dbb0e8748f54fcf3bf41a79a5a89bf0d8c68dd2d3c0baa107f0c0a0ad6a516101c08e01527f25564f26f751a891f47cfeaffdc425675a885cc237f51cf83b377b97339939e76101e08e01527f12cc848b8e33a48ed362877d3327335b12dd2c6edbd76367fc8111e2beed88906102008e01527f1923f402e67fd90a5b302a33e6927e714a37ea7c3e49158562857d0a5c28dbe16102208e01526102408d018290526102608d018190527f1c0a805d8260e5a380380e557f0fe651691e824bc1af7554288cf32c12c654706102808e01527f03854c5c1ddd2703c65567042076e97c47438001e30af5aaef11f167c2972d2e6102a08e01527f1f15049a161780694dcf5b7b2d435c7773c7dd79a4a155b70c54934f376982c46102c08e01527f1e012de79da3d630e18c086efafb08ac206f9051a89fa16294c72a25f572321d6102e08e015290925090506000610588611a05565b6020816103008f60085afa91508115806105a457508051600114155b156105c257604051631ff3747d60e21b815260040160405180910390fd5b50505050505050505050505050505050505050565b6105df611a05565b604051606090600080516020611cdd8339815191529061060b908735906020808a013591869101611c20565b6040516020818303038152906040528051906020012060001c61062e9190611c79565b8252604080516000918782377f27a5eba62ddd917183c2ee7b5d3e5f2ae1911937483496eaf222dc04d92c8c3460408201527f1b7f7d6f3f18a93f25a0fb477f635935c927ac97e6d6f3d28f59d1ca8922c79160608201527f099d0e57c9ab8b9c7b621e5016d21fb0c8ef3b0f6f95dff5136247407962696460808201527f18200ad5c851afdb5e84cc6f383913dfcb659ff333e3ad7239607f7e7731484c60a082015260408660c08301377f1d31c618f9e86ac86138dfbb95e70ce4651b545dc20bf7e6c617d0a1171943356101008201527f02ec63033163c24b1aac46ec37b26f226045ab3c294e5d8b8c1e9b02fbcbda956101208201527f28fa21cf73b16a80472d7e28c1bf0c223b521618d6dfc76e0f3ccda55c3b8e406101408201527f26c26daec204c9b77f3dadba4e5e09e0844a31df991db1d6345783feb293c95b6101608201526020816101808360085afa9051169050806107a4576040516351d49ff760e11b815260040160405180910390fd5b6000806107db86868a6002806020026040519081016040528092919082600260200280828437600092019190915250610d65915050565b915091506040516101008a82377f1fec464abb83dd30b44a71beccc4499c0247e202d9a43aab3d617b852463d3ab6101008201527f0fb4141443f49c5fcdf2e23cf88b3511927f1caee78fcad99c48483b725f3adc6101208201527f175a61f1773d0cca59cbf4190569d38ba79a8961fb38765249a0e7dd74b54f186101408201527e852c023aa389d861eb351e217144324f7011b9132ebae7c75df0d1da1358d46101608201527f18a8e9c254a914e0af96e172307c53e1fa457682abbad8da3536421a04fd3a9c6101808201527f14b33680c9e7a9c4ad3a174c25f271df7e7fc24a3b0b496e399df83d383209116101a08201527f1d7dbb0e8748f54fcf3bf41a79a5a89bf0d8c68dd2d3c0baa107f0c0a0ad6a516101c08201527f25564f26f751a891f47cfeaffdc425675a885cc237f51cf83b377b97339939e76101e08201527f12cc848b8e33a48ed362877d3327335b12dd2c6edbd76367fc8111e2beed88906102008201527f1923f402e67fd90a5b302a33e6927e714a37ea7c3e49158562857d0a5c28dbe161022082015282610240820152816102608201527f1c0a805d8260e5a380380e557f0fe651691e824bc1af7554288cf32c12c654706102808201527f03854c5c1ddd2703c65567042076e97c47438001e30af5aaef11f167c2972d2e6102a08201527f1f15049a161780694dcf5b7b2d435c7773c7dd79a4a155b70c54934f376982c46102c08201527f1e012de79da3d630e18c086efafb08ac206f9051a89fa16294c72a25f572321d6102e08201526020816103008360085afa905116925082610a4557604051631ff3747d60e21b815260040160405180910390fd5b505050505050505050565b610a58611a60565b610a60611a05565b6000610a7586358760015b602002013561134f565b8352610a936060870135604088013560a089013560808a0135611444565b60208501526040840152610aad60c0870135876007610a6b565b6060840152610abf8535866001610a6b565b8252610ace8435856001610a6b565b905093509350939050565b60008082600003610aef57506000928392509050565b600183811c925080841614600080516020611cbd8339815191528310610b2857604051631ff3747d60e21b815260040160405180910390fd5b610b65600080516020611cbd8339815191526003600080516020611cbd83398151915286600080516020611cbd833981519152888909090861173b565b91508015610b7957610b768261179f565b91505b50915091565b600080808085158015610b90575084155b15610ba657506000925082915081905080610d5c565b600286811c94508593506001808816149080881614600080516020611cbd83398151915286101580610be65750600080516020611cbd8339815191528510155b15610c0457604051631ff3747d60e21b815260040160405180910390fd5b6000600080516020611cbd833981519152610c2e6003600080516020611cbd833981519152611c9b565b600080516020611cbd833981519152888a090990506000600080516020611cbd83398151915288600080516020611cbd8339815191528a8b090990506000600080516020611cbd83398151915288600080516020611cbd8339815191528a8b09099050600080516020611cbd83398151915280600080516020611cbd8339815191528a860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089650610d27600080516020611cbd83398151915280600080516020611cbd8339815191528c870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750861179f565b9550610d348787866117b8565b90975095508415610d5657610d488761179f565b9650610d538661179f565b95505b50505050505b92959194509250565b6000806000600190506040516040810160007f100dc3f438602ee21fc4bb4bc22e585296b6d8b1d14f197f1cefa0ec0bb92b0983527f0939f38102390927104842a5dcf01fd21210e6cb374296a5b09f96774f7b21e36020840152865182526020870151602083015260408360808560065afa841693507f199d24b5bce3add74f73c00023c1301a4ce81e6c3312ce0bf054f073f813499082527f1c8ac7d946b5934fdac634defb8b787012b4c2371454217d265fc646908f0aab602083015288359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f1b0d0121b1cfdf82d89075e60810b8c9e3d4c95a2d4474b6ec34b122aa856bd482527f2545cbdc14275e0e493aa7ef3b15dfb9b99fd207e46a920cd25bedf0f9d3e80d602083015260208901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f27e095a90556ce4a41d63be0986980298a422c722f671ac3f84d63f560cab11a82527f017266635599543298000f1d4c54b91e8a1cdfd5060e1406309eadf356545004602083015260408901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f2ecc1f3329b05b687b9bf6d3bc647bfa31aaffafeb1ec2c725204c84cd38fd0782527f1a8aa5d0c8d389e389d6c90ae9c772319d6801bd7f7cb72b766779e7189d3736602083015260608901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f137d653660a1437d814021af3b7b0824db53440fefc83c16e7f8b49b85dba55482527f0809eba11f3c5fc6f857c1cade53bd50bdb97a62c465c0425433769a26668216602083015260808901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f27ba9ca193a1911271d13481dfcdbdf930d82cda691c95a938178f5e5a7f256d82527f0bfee36542227d3747ae16de5cf0dd592822faefc6baa3d950f8045b54623fa9602083015260a08901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f2b1d4e765f6cfd5ad4cccba5878fa9cb5451a0db46eb7df0a0d0221f15f504c382527f09cc9d6ab913ab2d48a26e4d1b15f4d6fc01f3ab78921f6fb115f01eac8b9784602083015260c08901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f28d422b5edb71baf2ddad93ad9fb472b265e2fe1c1bff38308b74a0c66b24ba782527f1be40bf98efa5f7f88c7d0faf5f85825866e32bc4d3deae836823e7c96c13774602083015260e08901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa841693507f2c525a7c09ee0a9287f0fa9b09cc55257b5d2a24a4846ec18c66dac84ac5143882527f237870ebc652956d03888a3a0ff425f8c836f87be597d83539a90e275e1249f460208301526101008901359050806040830152600080516020611cdd83398151915281108416935060408260608460075afa8416935060408360808560065afa7f2fe405b1013bcc8899cd3081b2c57008d0a3dd740dd7afabc0fc94d59154d4d683527f1a95cad133704fac63f264baff2bb62d058f699231328cbc5c92f648f65575b7602084015288516040808501829052600080516020611cdd83398151915290911091909516169390508160608160075afa831692505060408160808360065afa815160209092015191945090925016806113465760405163a54f8e2760e01b815260040160405180910390fd5b50935093915050565b6000600080516020611cbd8339815191528310158061137c5750600080516020611cbd8339815191528210155b1561139a57604051631ff3747d60e21b815260040160405180910390fd5b821580156113a6575081155b156113b35750600061143e565b60006113f2600080516020611cbd8339815191526003600080516020611cbd83398151915287600080516020611cbd833981519152898a09090861173b565b9050808303611407575050600182901b61143e565b6114108161179f565b8303611423575050600182811b1761143e565b604051631ff3747d60e21b815260040160405180910390fd5b505b92915050565b600080600080516020611cbd833981519152861015806114725750600080516020611cbd8339815191528510155b8061148b5750600080516020611cbd8339815191528410155b806114a45750600080516020611cbd8339815191528310155b156114c257604051631ff3747d60e21b815260040160405180910390fd5b828486881717176000036114db57506000905080611732565b60008080600080516020611cbd8339815191526115076003600080516020611cbd833981519152611c9b565b600080516020611cbd8339815191528a8c090990506000600080516020611cbd8339815191528a600080516020611cbd8339815191528c8d090990506000600080516020611cbd8339815191528a600080516020611cbd8339815191528c8d09099050600080516020611cbd83398151915280600080516020611cbd8339815191528c860984087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089450611600600080516020611cbd83398151915280600080516020611cbd8339815191528e870984087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750861179f565b9350505050600080611651600080516020611cbd8339815191528061162757611627611c63565b600080516020611cbd833981519152858609600080516020611cbd8339815191528788090861173b565b905061169e600080516020611cbd8339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4600080516020611cbd833981519152848808096118f6565b159150506116ad8383836117b8565b909350915086831480156116c057508186145b156116ea57806116d15760006116d4565b60025b60ff1660028a901b17600017945087935061172e565b6116f38361179f565b8714801561170857506117058261179f565b86145b15611423578061171957600061171c565b60025b60ff1660028a901b1760011794508793505b5050505b94509492505050565b6000611767827f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52611940565b905081600080516020611cbd8339815191528283091461179a57604051631ff3747d60e21b815260040160405180910390fd5b919050565b600080516020611cbd8339815191529081900681030690565b600080806117ea600080516020611cbd83398151915280878809600080516020611cbd833981519152898a090861173b565b905083156117fe576117fb8161179f565b90505b611849600080516020611cbd8339815191527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4600080516020611cbd833981519152848a080961173b565b9250600080516020611cbd833981519152611875600080516020611cbd833981519152600286096119a5565b86099150600080516020611cbd8339815191526118a2600080516020611cbd83398151915284850961179f565b600080516020611cbd83398151915285860908861415806118d85750600080516020611cbd833981519152808385096002098514155b1561134657604051631ff3747d60e21b815260040160405180910390fd5b600080611923837f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f52611940565b905082600080516020611cbd833981519152828309149392505050565b6000806040516020815260208082015260206040820152846060820152836080820152600080516020611cbd83398151915260a082015260208160c08360055afa9051925090508061143c57604051631ff3747d60e21b815260040160405180910390fd5b60006119d1827f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd45611940565b9050600080516020611cbd83398151915281830960011461179a57604051631ff3747d60e21b815260040160405180910390fd5b60405180602001604052806001906020820280368337509192915050565b60405180604001604052806002906020820280368337509192915050565b6040518061030001604052806018906020820280368337509192915050565b60405180608001604052806004906020820280368337509192915050565b80610120810183101561143e57600080fd5b6000806000806101e08587031215611aa757600080fd5b6080850186811115611ab857600080fd5b85945060a0860187811115611acc57600080fd5b909350359150611adf8660c08701611a7e565b905092959194509250565b80610100810183101561143e57600080fd5b806040810183101561143e57600080fd5b6000806000806102a08587031215611b2457600080fd5b611b2e8686611aea565b9350611b3e866101008701611afc565b9250611b4e866101408701611afc565b9150611adf866101808701611a7e565b60008060006101808486031215611b7457600080fd5b611b7e8585611aea565b9250611b8e856101008601611afc565b9150611b9e856101408601611afc565b90509250925092565b60c08101818560005b6004811015611bcf578151835260209283019290910190600101611bb0565b505050608082018460005b6001811015611bf9578151835260209283019290910190600101611bda565b5050508260a0830152949350505050565b634e487b7160e01b600052603260045260246000fd5b83815282602082015260006040820183516020850160005b82811015611c56578151845260209384019390910190600101611c38565b5091979650505050505050565b634e487b7160e01b600052601260045260246000fd5b600082611c9657634e487b7160e01b600052601260045260246000fd5b500690565b8181038181111561143e57634e487b7160e01b600052601160045260246000fdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a2646970667358221220e3a4d09ace5334b06d882b34df7941aca1575a8193e291d6aa21d39a94f62ea564736f6c634300081c0033";
const isSuperArgs = (xs) => xs.length > 1;
class ResultsVerifierBaseGroth16__factory extends ethers_1.ContractFactory {
constructor(...args) {
if (isSuperArgs(args)) {
super(...args);
}
else {
super(_abi, _bytecode, args[0]);
}
}
getDeployTransaction(overrides) {
return super.getDeployTransaction(overrides || {});
}
deploy(overrides) {
return super.deploy(overrides || {});
}
connect(runner) {
return super.connect(runner);
}
static createInterface() {
return new ethers_1.Interface(_abi);
}
static connect(address, runner) {
return new ethers_1.Contract(address, _abi, runner);
}
}
exports.ResultsVerifierBaseGroth16__factory = ResultsVerifierBaseGroth16__factory;
ResultsVerifierBaseGroth16__factory.bytecode = _bytecode;
ResultsVerifierBaseGroth16__factory.abi = _abi;