@vocdoni/davinci-contracts
Version:
Smart contracts powering DAVINCI's digital voting protocol
150 lines (149 loc) • 17.7 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[8]",
name: "input",
type: "uint256[8]",
},
],
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[8]",
name: "input",
type: "uint256[8]",
},
],
name: "verifyProof",
outputs: [],
stateMutability: "view",
type: "function",
},
];
const _bytecode = "0x60808060405234601557611ae2908161001a8239f35b5f80fdfe60806040526004361015610011575f80fd5b5f3560e01c80639ed57f3214610b23578063b1c3a00e14610a125763e2dd9f471461003a575f80fd5b34610a0e576101c0366003190112610a0e5736608411610a0e573660a411610a0e57366101c411610a0e57604051602061007481836113a4565b80368337604080519061008781836113a4565b803683376103009381519261009c86856113a4565b853685376100ab6084356116e9565b8683015281526100bc60a4356116e9565b905f516020611a8d5f395f51905f5285516100d787826113a4565b6001815288610104818301601f198a01368237378451906101168a61010881890151938b51948593840196876113da565b03601f1981018352826113a4565b5190200684528251865286830151878701527f11bad3281f5acb25089ae49ea18720ed846a9a2591543664551abe2f98ca4642858701527f20de6703f2f73e46809aa0a62766b496394305bb8be7114c9efa2cf77f39f65960608701527f24cdd3b6e5b0d4faddd4d2e1f510a339f559c2485df9d69c0b5024face20f54d60808701527f1f04f6f0ae1c84c186e36d2e6be46d3f41d172624ff4ab819aa3deb5ddba49cb60a087015260c086015260e08501527f06c21cccdd0d0922e37017aec22b87dca50c1ccde025e9461153f09258b225eb6101008501527f19ea6a27f0b2bceeac9d373d9cdc71d9898f775a1de9b22f404a3ee4f686f7e46101208501527f30502607b694da3f6a1eaec7aaefd8856dfa40b36d80981b4f318be764f22e836101408501527f235376b117fcc6318f5817ecfdf6ab39ac8b2791ad1623a833718442026637d4610160850152825185816101808760085afa905116156109ff5784906102866004356116e9565b610297602495929535604435611754565b92919093896102a76064356116e9565b9890977f16c17c2631a2bff30a5c157583118b735976434df3c79d10975ebd752976a7b283519b8c937f2b2717ebb723531642da8234c82233a47019142aaa6c2924c7e8be3106041ae785527f1c8a17313ba471104666d2717c3c94f8dfc0769f0131771210998a8af531dfdd828601528051868601520151606084019081527f0da6ced8a934abbc3c46469fc7983025a27de314dad84697e7ff15fb21a61cbb858560808160065afa957f0dc617cfab0f509a8ac56e25cadf37083a1c7a6e8b1315108e8e355a2079ee0a818701527f01e913439dae1cd7df92257e3c4b373e3075d6e4413a98a07d0725945a202a438352600160c4356080880198818a525f516020611a8d5f395f51905f5284808b016060828d0160075afa92101616828860808160065afa16167f11acc8b30a1a3d428ec4c241cab61b6e0454a626e10bbb888189c20221f21eed828801527f2c61ed73286e7a4a91d4db07058335caacc4ea935f68c1d2f570a350d7be2af9845260e435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f0d56cf60dbd64fabe80267710bb6e91ded255b6b66983e9cf2ca2bff0d3aa053828801527f14e8c22476d690ff2d8aa90fe6fc981b3b1613cfa7531dd6027bad81848fd64c845261010435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f2addcf6650ecbf21bebed9995b4baf566f11e61d2363da0ec77124a58d067dc0828801527e4a584a891535054744d91de00b0532fd71c835ffbe2f6c72d04db1b223f666845261012435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f193a40b933cd6cac8ee03240c83b5753b0ade776370ddeab97fdc00998736c58828801527f22dc5bc5a2849bb2a2d06dfff2a506d23e521d6b132989bab2c2f17a3ddc8991845261014435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f21306d2d12f53364871c15dd1c4daf0611616ddf3706301b3f9228a79f01964c828801527f2d28ddfc826bf5d12d41ce897d213a881f2862ea09f262c39f9de3daead60019845261016435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f217092f6962d33dd1353c6746a3492fd9d507cc99eb782f134c37616e756f420828801527f14f97e14d6b259157982e786e75fba415ba425f71b02f6a05121e8ea8baeed86845261018435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa167f1f1de20d14c3b7f7b9bc0bad01e1b32da5c38169561b43bd94ebc7385dbc69c7828801527f2e54dfdf0ff292c39648b96884353966e84843783b12e80c18c8769b88548b6b84526101a435908189525f516020611a8d5f395f51905f5283808a016060828c0160075afa92101616818760808160065afa1695015252518092525f516020611a8d5f395f51905f528c8b606082808301920160075afa921016168a8960808160065afa16988c895199015199156109f0578b528b8b0152888a01526060890152608088015260a087015260c086015260e08501527f12d706b3f6ea59fce36b2a04a2e873413657db328ea40d6c49ded97cf275314f6101008501527f2fb9b504cb01e49f1dd9142c83606408445919f246253ed5cf1a4003b9b258ba6101208501527f10916b95f55eeebf695c31d7184a2306399c555c5649dd40d77cfc0267e2ad996101408501527f18dc9ab506983fed0d4e380cc6ea957ff38e8bff404b28da2e237dcc632f5cd56101608501527f14fda384f9e125ca57cce4cd320c58a665078e97e192e19e13394d83b3b227726101808501527f0c5e8af6d5875a984bf2a360c2d42c64eea68025ec9f38e084e29623bae1ba0b6101a08501527f02c18a171381268c20489faf4efa716d972ac2af72468a86bd2bb18a95002f426101c08501527f182c3ed7058d7f3d4b69cbaedf0c80af3fa30c35b122e3b5bfbecf23497410ec6101e08501527f0d3670846cd0a0241757d2c5ae7b793c06a4fcf32eae8d49f8a50f267ca7a39d6102008501527f19f8659133dbd401358bd030776479fa46eb0eb5d4289df050a2d27b076d54806102208501526102408401526102608301527f07ea7202e730c6e36fac1f4ccaa42ea81877eb36f7a112bdc16fce776df5373e6102808301527f29526ea49d0dc80d14f0a0c068c4e4c76ea170b8c07ef3efb154b59dd822c7e16102a08301527f288efe3e67c01feaba5f479f150604964f4fbb53b6ab5aca93ffe6bdcdf0913c6102c08301527f018570088b355b9fc93f952e524859f898be73bb1f61b959014bf118300576856102e0830152519283916109bc84846113a4565b8336843760085afa159081156109e3575b506109d457005b631ff3747d60e21b5f5260045ffd5b600191505114155f6109cd565b63a54f8e2760e01b5f5260045ffd5b6351d49ff760e11b5f5260045ffd5b5f80fd5b34610a0e57610180366003190112610a0e573661010411610a0e573661014411610a0e573661018411610a0e57604051610a4d6080826113a4565b6080368237604051906020610a6281846113a4565b80368437610a74602435600435611414565b8252610a8a60843560a4356044356064356114b5565b828401526040830152610aa160e43560c435611414565b6060830152610ab66101243561010435611414565b8352610ac86101643561014435611414565b9060405192835f905b60048210610b0d575050506080830193905f945b60018610610af85760c0858560a0820152f35b81806001928551815201930195019491610ae5565b8251815291830191600191909101908301610ad1565b34610a0e57610280366003190112610a0e573661010411610a0e573661014411610a0e573661018411610a0e573661028411610a0e576040516020610b6881836113a4565b803683376040915f516020611a8d5f395f51905f528351610b8985826113a4565b60018152836101c4818301601f198801368237378451610bb881610108878201946101243561010435876113da565b51902006815282518361010482377f11bad3281f5acb25089ae49ea18720ed846a9a2591543664551abe2f98ca4642848201527f20de6703f2f73e46809aa0a62766b496394305bb8be7114c9efa2cf77f39f65960608201527f24cdd3b6e5b0d4faddd4d2e1f510a339f559c2485df9d69c0b5024face20f54d60808201527f1f04f6f0ae1c84c186e36d2e6be46d3f41d172624ff4ab819aa3deb5ddba49cb60a08201528361014460c08301377f06c21cccdd0d0922e37017aec22b87dca50c1ccde025e9461153f09258b225eb6101008201527f19ea6a27f0b2bceeac9d373d9cdc71d9898f775a1de9b22f404a3ee4f686f7e46101208201527f30502607b694da3f6a1eaec7aaefd8856dfa40b36d80981b4f318be764f22e836101408201527f235376b117fcc6318f5817ecfdf6ab39ac8b2791ad1623a833718442026637d461016082015282816101808160085afa905116156109ff57825192610d2181856113a4565b61010483855b6101448310611394575050508051918183017f2b2717ebb723531642da8234c82233a47019142aaa6c2924c7e8be3106041ae784525f516020611a8d5f395f51905f528386808701987f1c8a17313ba471104666d2717c3c94f8dfc0769f0131771210998a8af531dfdd8a528051855201519260608701938452818760808160065afa947f0dc617cfab0f509a8ac56e25cadf37083a1c7a6e8b1315108e8e355a2079ee0a82527f01e913439dae1cd7df92257e3c4b373e3075d6e4413a98a07d0725945a202a4385527f16c17c2631a2bff30a5c157583118b735976434df3c79d10975ebd752976a7b260016101843560808b0198818a5287878760608160075afa92101616858b60808160065afa16167f11acc8b30a1a3d428ec4c241cab61b6e0454a626e10bbb888189c20221f21eed84527f2c61ed73286e7a4a91d4db07058335caacc4ea935f68c1d2f570a350d7be2af987526101a4359081895286868660608160075afa92101616848a60808160065afa167f0d56cf60dbd64fabe80267710bb6e91ded255b6b66983e9cf2ca2bff0d3aa05384527f14e8c22476d690ff2d8aa90fe6fc981b3b1613cfa7531dd6027bad81848fd64c87526101c4359081895286868660608160075afa92101616848a60808160065afa167f2addcf6650ecbf21bebed9995b4baf566f11e61d2363da0ec77124a58d067dc084527e4a584a891535054744d91de00b0532fd71c835ffbe2f6c72d04db1b223f66687526101e4359081895286868660608160075afa92101616848a60808160065afa167f193a40b933cd6cac8ee03240c83b5753b0ade776370ddeab97fdc00998736c5884527f22dc5bc5a2849bb2a2d06dfff2a506d23e521d6b132989bab2c2f17a3ddc89918752610204359081895286868660608160075afa92101616848a60808160065afa167f21306d2d12f53364871c15dd1c4daf0611616ddf3706301b3f9228a79f01964c84527f2d28ddfc826bf5d12d41ce897d213a881f2862ea09f262c39f9de3daead600198752610224359081895286868660608160075afa92101616848a60808160065afa167f217092f6962d33dd1353c6746a3492fd9d507cc99eb782f134c37616e756f42084527f14f97e14d6b259157982e786e75fba415ba425f71b02f6a05121e8ea8baeed868752610244359081895286868660608160075afa92101616848a60808160065afa167f1f1de20d14c3b7f7b9bc0bad01e1b32da5c38169561b43bd94ebc7385dbc69c784527f2e54dfdf0ff292c39648b96884353966e84843783b12e80c18c8769b88548b6b8752610264359081895286868660608160075afa92101616848a60808160065afa16957f0da6ced8a934abbc3c46469fc7983025a27de314dad84697e7ff15fb21a61cbb8452525180955260608160075afa92101616818360808160065afa169151935191156109f0575192610100600485377f12d706b3f6ea59fce36b2a04a2e873413657db328ea40d6c49ded97cf275314f6101008501527f2fb9b504cb01e49f1dd9142c83606408445919f246253ed5cf1a4003b9b258ba6101208501527f10916b95f55eeebf695c31d7184a2306399c555c5649dd40d77cfc0267e2ad996101408501527f18dc9ab506983fed0d4e380cc6ea957ff38e8bff404b28da2e237dcc632f5cd56101608501527f14fda384f9e125ca57cce4cd320c58a665078e97e192e19e13394d83b3b227726101808501527f0c5e8af6d5875a984bf2a360c2d42c64eea68025ec9f38e084e29623bae1ba0b6101a08501527f02c18a171381268c20489faf4efa716d972ac2af72468a86bd2bb18a95002f426101c08501527f182c3ed7058d7f3d4b69cbaedf0c80af3fa30c35b122e3b5bfbecf23497410ec6101e08501527f0d3670846cd0a0241757d2c5ae7b793c06a4fcf32eae8d49f8a50f267ca7a39d6102008501527f19f8659133dbd401358bd030776479fa46eb0eb5d4289df050a2d27b076d54806102208501526102408401526102608301527f07ea7202e730c6e36fac1f4ccaa42ea81877eb36f7a112bdc16fce776df5373e6102808301527f29526ea49d0dc80d14f0a0c068c4e4c76ea170b8c07ef3efb154b59dd822c7e16102a08301527f288efe3e67c01feaba5f479f150604964f4fbb53b6ab5aca93ffe6bdcdf0913c6102c08301527f018570088b355b9fc93f952e524859f898be73bb1f61b959014bf118300576856102e0830152816103008160085afa905116156109d457005b8235815291810191859101610d27565b90601f8019910116810190811067ffffffffffffffff8211176113c657604052565b634e487b7160e01b5f52604160045260245ffd5b9091604092825260208201520160208251919201905f5b8181106113fe5750505090565b82518452602093840193909201916001016113f1565b905f516020611a6d5f395f51905f52821080159061149e575b6109d457811580611496575b6114905761145d5f516020611a6d5f395f51905f526003818581818009090861188d565b81810361146c57505060011b90565b5f516020611a6d5f395f51905f52809106810306145f146109d457600190811b1790565b50505f90565b508015611439565b505f516020611a6d5f395f51905f5281101561142d565b919093925f516020611a6d5f395f51905f5283108015906116d2575b80156116bb575b80156116a4575b6109d4578082868517171715611699579082916115fc5f516020611a6d5f395f51905f5280808080888180808f9d7f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd448f839290839109099d8e0981848181800909087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5089a09818c8181800909087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750806810306945f516020611a6d5f395f51905f527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea4816115d681808b8009818780090861188d565b8408095f516020611a6d5f395f51905f526115f082611a04565b800914159586916118b0565b929080821480611690575b1561162e5750505050905f146116265760ff60025b169060021b179190565b60ff5f61161c565b5f516020611a6d5f395f51905f52809106810306149182611671575b5050156109d457600191156116695760ff60025b169060021b17179190565b60ff5f61165e565b5f516020611a6d5f395f51905f52919250819006810306145f8061164a565b50838314611607565b50505090505f905f90565b505f516020611a6d5f395f51905f528110156114df565b505f516020611a6d5f395f51905f528210156114d8565b505f516020611a6d5f395f51905f528510156114d1565b801561174d578060011c915f516020611a6d5f395f51905f528310156109d45760018061172c5f516020611a6d5f395f51905f526003818881818009090861188d565b93161461173557565b905f516020611a6d5f395f51905f5280910681030690565b505f905f90565b801580611885575b611879578060021c92825f516020611a6d5f395f51905f528510801590611862575b6109d45784815f516020611a6d5f395f51905f5280808080808080807f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd448161182c9d8d0909998a0981898181800909087f2fcd3ac2a640a154eb23960892a85a68f031ca0c8344b23a577dcf1052b9e7750806810306936002808a16149509818a8181800909087f2b149d40ceb8aaae81be18991be06ac3b5b4c5e559dbefa33267e6dc24a138e5086118b0565b8092916001808296161461183e575050565b5f516020611a6d5f395f51905f528093945080929550809106810306930681030690565b505f516020611a6d5f395f51905f5281101561177e565b50505f905f905f905f90565b50811561175c565b9061189782611a04565b915f516020611a6d5f395f51905f52838009036109d457565b915f516020611a6d5f395f51905f527f183227397098d014dc2822db40c0ac2ecbc0b548b438e5469e10460b6c3e7ea481611908939694966118fa82808a8009818a80090861188d565b906119f8575b86080961188d565b925f516020611a6d5f395f51905f52600285096040519060208252602080830152602060408301528060608301527f30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4560808301525f516020611a6d5f395f51905f5260a083015260208260c08160055afa915191156109d4575f516020611a6d5f395f51905f528260019209036109d4575f516020611a6d5f395f51905f52908209925f516020611a6d5f395f51905f5280808087800906810306818780090814908115916119d9575b506109d457565b90505f516020611a6d5f395f51905f528084860960020914155f6119d2565b81809106810306611900565b9060405191602083526020808401526020604084015260608301527f0c19139cb84c680a6e14116da060561765e05aa45a1c72a34f082305b61f3f5260808301525f516020611a6d5f395f51905f5260a083015260208260c08160055afa915191156109d45756fe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212206432e984378023712bb74affc383cea48cda8dfe3205d4d6554b4ece9cecd78a64736f6c634300081c0033";
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;