@vocdoni/davinci-contracts
Version:
Smart contracts powering DAVINCI's digital voting protocol
150 lines (149 loc) • 18 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.Verifier__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 = "0x60808060405234601557611b80908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80635d26278e14610a5557806360e583461461014f5763b1c3a00e1461003a575f80fd5b3461014b5761018036600319011261014b57366101041161014b57366101441161014b57366101841161014b57604051610075608082611444565b608036823760405190602061008a8184611444565b8036843761009c602435600435611656565b82526100b260843560a4356044356064356116f7565b8284015260408301526100c960e43560c435611656565b60608301526100de6101243561010435611656565b83526100f06101643561014435611656565b9060405192835f905b60048210610135575050506080830193905f945b600186106101205760c0858560a0820152f35b8180600192855181520193019501949161010d565b82518152918301916001919091019083016100f9565b5f80fd5b3461014b576102a036600319011261014b57366101041161014b57366101441161014b57366101841161014b57366102a41161014b5760405160206101948183611444565b803683375f516020611b2b5f395f51905f52604051828101906101d0816101c261012435610104358661147a565b03601f198101835282611444565b519020068252604051604061010482377f172c3e362bfc1afecab059fe679d62d2246ff3c8cdff450f2adab4e29b52a31a60408201527f2cdf0eb32b8e667e3b54cd693753143c519f1ec0922b6423a369ec2c47cbecef60608201527f07fd9462b1be79250fe5ffca01e9c248521ac3c8b9a9e709bbcd66090bd0ff0660808201527f0ebe52d54a79b0c3771c71162af705852f68d4944bbe66bae32d2a185cb838bf60a0820152604061014460c08301377f03867c5475573316407692566215d27737e3705019f2124c7fc9079b6bacb49b6101008201527f035feb7736c0c805f297d415d96ab7666d244a6017d6e5a463d6fbf4ed88d3756101208201527f0a5d2541bcff1aa943644704de4d88b082b5f95f5281613b8cb134064c8b6da56101408201527f080792be4e433707e52af0b02a3cfa8c376e32c23f0d20c9f0158b3cb6109ddb61016082015281816101808160085afa90511615610a46576040918251926103408185611444565b61010483855b6101448310610a36575050508051918183017f19511ed5aa28ca0fd09a297bbbd7380a1d71b3474d4dc3d9bd5851ad2dbea4f684525f516020611b2b5f395f51905f528386808701987f148e2bad839edfb1aa8934d13a3b6741cdd8a8318184996b5712e6d38bcddce58a528051855201519260608701938452818760808160065afa947f04b77b6db752d8f7292f408f0e7f8f1fec3681ff8dbfc3096e29599eb564b80e82527f236f80cf2754c17d05f4dd069e83d69a5209df133fea257347c312f1a314fd2b85527f0fa914b0ccdc16524cf0075ac3a50968828cd74aeff9cf70c068cd3f4a45a57860016101843560808b0198818a5287878760608160075afa92101616858b60808160065afa16167f2708598733abc207e29208498683acadc1b03ddf7b9006fa72ea910b24c1dfa284527e8daa8b57eef4e46e58bb51cd23a26093154f5cadd7301fe74e39f80c696a9d87526101a4359081895286868660608160075afa92101616848a60808160065afa167f2f065d10a39f63bd855c1e46049c814d10d2411cad7f9be4e339c0d8fa34cd8284527f24e794f7b6586393a0db6ed37fb517d7bbaf758f0432aab2ae3a45eb2cf3983f87526101c4359081895286868660608160075afa92101616848a60808160065afa167f293732cf3194b953aced12360a40cbbbf3ef1df30da324b3baa981b9bef42e3584527eb9f21b59cb56d83f1dc78c476ae2cb1f295e1a22d68d7aa85caf28dcdb5b5687526101e4359081895286868660608160075afa92101616848a60808160065afa167f13fdf7d585de1b3563e5e288f47b0eba6ddb71b7e60967efb49cb1e8e2e4eb5384527f1a948b73ae2908668ad07d1e9d4c3413332ad1ae0bf57bafc3cdd9eb7649428c8752610204359081895286868660608160075afa92101616848a60808160065afa167f2e122c8a3874c1fa1daf55576bd8a10706ba4fa711bcc04b87c541efc1c3890a84527f063b5c84b75526d53e1dfc098a3bd45a13e56c10ef8966cadcf3f76ab3a5330e8752610224359081895286868660608160075afa92101616848a60808160065afa167f1a0b7d4956ec03d8e65c02b41910ab087c21c49291fbef1cd88a25e6355f09ff84527f0892d86e3f822b25a79767fec9500836fdcc7a2f5b003bad4e1c99c4f15400438752610244359081895286868660608160075afa92101616848a60808160065afa167f20f06a7909c5dd899a7c9beb4a5632fc4a4781cea58f09c2fe2db1a707abfd1f84527f0e5ab3841d75f9ef8476f981e6514a815ed7a96510a3c3f23b198b7a8df8c3b68752610264359081895286868660608160075afa92101616848a60808160065afa167f2f693f13f14a5eca92842b74f4d09b0f7556c3c804857eb54fdd9ef27956459784527f010b93640015c1fab3f6e1c4079af2898b07e7080bf79846074c7cfc346b3d7b8752610284359081895286868660608160075afa92101616848a60808160065afa16957f1a1ac847da604829deaf42be3f2d230b50bf353ed61d79fc737fae6c7da462b78452525180955260608160075afa92101616818360808160065afa16915193519115610a27575192610100600485377f1b9f98183462d71dd5b551db2c9261f103deea2a7654e2ea2bc6e622ba2206b36101008501527f1ca95574159406b016233d120a9de8471ffef954fa8220f353710d52530c26286101208501527f2691eb52fa7a64b9dcfdfb8bd8075842a114b74483241915e165d031d10448886101408501527f2446c63acb0ad28651766998b23948674a73a4fe810e29f4a12548424606df996101608501527f029c1540050458afd4980b9ee3f3a6d6f9506f06e8dd5439f816c45a2b7078326101808501527f29770afbc654db88056ad99cd81c0820f36f50e85da462266a664d7467f74f0d6101a08501527f262ffc210c2063aafc30aff32a3c8666aaf2f8531994de21fe13121d0a58c7796101c08501527f1ec0be4950a60c5203434758ecc00d919445fa972e2347c2cd7f75c96a0ef60b6101e08501527f22f62b73fdbbea38bc14ff99da426f67cb2b89c62632dc06326f440ee369ed216102008501527f244ae49435ab86d3b0311e041ed5c0b6d6e85b1ec3490ef47c72653546049c796102208501526102408401526102608301527f2a91fdf2995dfdb5e11046caf823649fdd69c837fad41ce18d14c08d6ef5bdaf6102808301527f2b5c7fa0384071eb986970df316dda9931f52b19fd51ff3554b434cb638233d16102a08301527f1e7806f868f01a607cbee68be533bf9f2075b2fc92efbf3fa2077787a3182e7f6102c08301527f211d3a7f00cc8174311aad632910f288282284b588172cd72aa7e475f7931f266102e0830152816103008160085afa90511615610a1857005b631ff3747d60e21b5f5260045ffd5b63a54f8e2760e01b5f5260045ffd5b8235815291810191859101610346565b6351d49ff760e11b5f5260045ffd5b3461014b576101e036600319011261014b573660841161014b573660a41161014b57366101e41161014b576040516020610a8f8183611444565b803683376040805190610aa28183611444565b8036833761030093815192610ab78685611444565b85368537610ac66084356114b2565b868301528152610ad760a4356114b2565b905f516020611b2b5f395f51905f5283516101c2610b018a87015189519283918d8301958661147a565b5190200684528251865286830151878701527f172c3e362bfc1afecab059fe679d62d2246ff3c8cdff450f2adab4e29b52a31a858701527f2cdf0eb32b8e667e3b54cd693753143c519f1ec0922b6423a369ec2c47cbecef60608701527f07fd9462b1be79250fe5ffca01e9c248521ac3c8b9a9e709bbcd66090bd0ff0660808701527f0ebe52d54a79b0c3771c71162af705852f68d4944bbe66bae32d2a185cb838bf60a087015260c086015260e08501527f03867c5475573316407692566215d27737e3705019f2124c7fc9079b6bacb49b6101008501527f035feb7736c0c805f297d415d96ab7666d244a6017d6e5a463d6fbf4ed88d3756101208501527f0a5d2541bcff1aa943644704de4d88b082b5f95f5281613b8cb134064c8b6da56101408501527f080792be4e433707e52af0b02a3cfa8c376e32c23f0d20c9f0158b3cb6109ddb610160850152825185816101808760085afa90511615610a46578490610c716004356114b2565b610c8260249592953560443561151d565b9291909389610c926064356114b2565b9890977f0fa914b0ccdc16524cf0075ac3a50968828cd74aeff9cf70c068cd3f4a45a57883519b8c937f19511ed5aa28ca0fd09a297bbbd7380a1d71b3474d4dc3d9bd5851ad2dbea4f685527f148e2bad839edfb1aa8934d13a3b6741cdd8a8318184996b5712e6d38bcddce5828601528051868601520151606084019081527f1a1ac847da604829deaf42be3f2d230b50bf353ed61d79fc737fae6c7da462b7858560808160065afa957f04b77b6db752d8f7292f408f0e7f8f1fec3681ff8dbfc3096e29599eb564b80e818701527f236f80cf2754c17d05f4dd069e83d69a5209df133fea257347c312f1a314fd2b8352600160c4356080880198818a525f516020611b2b5f395f51905f5284808b016060828d0160075afa92101616828860808160065afa16167f2708598733abc207e29208498683acadc1b03ddf7b9006fa72ea910b24c1dfa2828801527e8daa8b57eef4e46e58bb51cd23a26093154f5cadd7301fe74e39f80c696a9d845260e435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f2f065d10a39f63bd855c1e46049c814d10d2411cad7f9be4e339c0d8fa34cd82828801527f24e794f7b6586393a0db6ed37fb517d7bbaf758f0432aab2ae3a45eb2cf3983f845261010435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f293732cf3194b953aced12360a40cbbbf3ef1df30da324b3baa981b9bef42e35828801527eb9f21b59cb56d83f1dc78c476ae2cb1f295e1a22d68d7aa85caf28dcdb5b56845261012435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f13fdf7d585de1b3563e5e288f47b0eba6ddb71b7e60967efb49cb1e8e2e4eb53828801527f1a948b73ae2908668ad07d1e9d4c3413332ad1ae0bf57bafc3cdd9eb7649428c845261014435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f2e122c8a3874c1fa1daf55576bd8a10706ba4fa711bcc04b87c541efc1c3890a828801527f063b5c84b75526d53e1dfc098a3bd45a13e56c10ef8966cadcf3f76ab3a5330e845261016435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f1a0b7d4956ec03d8e65c02b41910ab087c21c49291fbef1cd88a25e6355f09ff828801527f0892d86e3f822b25a79767fec9500836fdcc7a2f5b003bad4e1c99c4f1540043845261018435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f20f06a7909c5dd899a7c9beb4a5632fc4a4781cea58f09c2fe2db1a707abfd1f828801527f0e5ab3841d75f9ef8476f981e6514a815ed7a96510a3c3f23b198b7a8df8c3b684526101a435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f2f693f13f14a5eca92842b74f4d09b0f7556c3c804857eb54fdd9ef279564597828801527f010b93640015c1fab3f6e1c4079af2898b07e7080bf79846074c7cfc346b3d7b84526101c435908189525f516020611b2b5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa1695015252518092525f516020611b2b5f395f51905f528c8b606082808301920160075afa921016168a8960808160065afa16988c89519901519915610a27578b528b8b0152888a01526060890152608088015260a087015260c086015260e08501527f1b9f98183462d71dd5b551db2c9261f103deea2a7654e2ea2bc6e622ba2206b36101008501527f1ca95574159406b016233d120a9de8471ffef954fa8220f353710d52530c26286101208501527f2691eb52fa7a64b9dcfdfb8bd8075842a114b74483241915e165d031d10448886101408501527f2446c63acb0ad28651766998b23948674a73a4fe810e29f4a12548424606df996101608501527f029c1540050458afd4980b9ee3f3a6d6f9506f06e8dd5439f816c45a2b7078326101808501527f29770afbc654db88056ad99cd81c0820f36f50e85da462266a664d7467f74f0d6101a08501527f262ffc210c2063aafc30aff32a3c8666aaf2f8531994de21fe13121d0a58c7796101c08501527f1ec0be4950a60c5203434758ecc00d919445fa972e2347c2cd7f75c96a0ef60b6101e08501527f22f62b73fdbbea38bc14ff99da426f67cb2b89c62632dc06326f440ee369ed216102008501527f244ae49435ab86d3b0311e041ed5c0b6d6e85b1ec3490ef47c72653546049c796102208501526102408401526102608301527f2a91fdf2995dfdb5e11046caf823649fdd69c837fad41ce18d14c08d6ef5bdaf6102808301527f2b5c7fa0384071eb986970df316dda9931f52b19fd51ff3554b434cb638233d16102a08301527f1e7806f868f01a607cbee68be533bf9f2075b2fc92efbf3fa2077787a3182e7f6102c08301527f211d3a7f00cc8174311aad632910f288282284b588172cd72aa7e475f7931f266102e08301525192839161141f8484611444565b8336843760085afa15908115611437575b50610a1857005b6001915051141581611430565b90601f8019910116810190811067ffffffffffffffff82111761146657604052565b634e487b7160e01b5f52604160045260245ffd5b909160409282526020820152016060516080905f5b81811061149c5750505090565b825184526020938401939092019160010161148f565b8015611516578060011c915f516020611b0b5f395f51905f52831015610a18576001806114f55f516020611b0b5f395f51905f526003818881818009090861192b565b9316146114fe57565b905f516020611b0b5f395f51905f5280910681030690565b505f905f90565b80158061164e575b611642578060021c92825f516020611b0b5f395f51905f52851080159061162b575b610a185784815f516020611b0b5f395f51905f5280808080808080807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd44816115f59d8d0909998a0981898181800909087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750806810306936002808a16149509818a8181800909087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e50861194e565b80929160018082961614611607575050565b5f516020611b0b5f395f51905f528093945080929550809106810306930681030690565b505f516020611b0b5f395f51905f52811015611547565b50505f905f905f905f90565b508115611525565b905f516020611b0b5f395f51905f5282108015906116e0575b610a18578115806116d8575b6116d25761169f5f516020611b0b5f395f51905f526003818581818009090861192b565b8181036116ae57505060011b90565b5f516020611b0b5f395f51905f52809106810306145f14610a1857600190811b1790565b50505f90565b50801561167b565b505f516020611b0b5f395f51905f5281101561166f565b919093925f516020611b0b5f395f51905f528310801590611914575b80156118fd575b80156118e6575b610a185780828685171717156118db5790829161183e5f516020611b0b5f395f51905f5280808080888180808f9d7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd448f839290839109099d8e0981848181800909087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089a09818c8181800909087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750806810306945f516020611b0b5f395f51905f527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea48161181881808b8009818780090861192b565b8408095f516020611b0b5f395f51905f5261183282611aa2565b8009141595869161194e565b9290808214806118d2575b156118705750505050905f146118685760ff60025b169060021b179190565b60ff5f61185e565b5f516020611b0b5f395f51905f528091068103061491826118b3575b505015610a1857600191156118ab5760ff60025b169060021b17179190565b60ff5f6118a0565b5f516020611b0b5f395f51905f52919250819006810306145f8061188c565b50838314611849565b50505090505f905f90565b505f516020611b0b5f395f51905f52811015611721565b505f516020611b0b5f395f51905f5282101561171a565b505f516020611b0b5f395f51905f52851015611713565b9061193582611aa2565b915f516020611b0b5f395f51905f5283800903610a1857565b915f516020611b0b5f395f51905f527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4816119a69396949661199882808a8009818a80090861192b565b90611a96575b86080961192b565b925f516020611b0b5f395f51905f52600285096040519060208252602080830152602060408301528060608301527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4560808301525f516020611b0b5f395f51905f5260a083015260208260c08160055afa91519115610a18575f516020611b0b5f395f51905f52826001920903610a18575f516020611b0b5f395f51905f52908209925f516020611b0b5f395f51905f528080808780090681030681878009081490811591611a77575b50610a1857565b90505f516020611b0b5f395f51905f528084860960020914155f611a70565b8180910681030661199e565b9060405191602083526020808401526020604084015260608301527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808301525f516020611b0b5f395f51905f5260a083015260208260c08160055afa91519115610a185756fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212203ac98c64e009088e47807bd5897597a1ba6846a563e9776bda620fa28ad620dd64736f6c634300081c0033";
const isSuperArgs = (xs) => xs.length > 1;
class Verifier__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.Verifier__factory = Verifier__factory;
Verifier__factory.bytecode = _bytecode;
Verifier__factory.abi = _abi;