@vocdoni/davinci-contracts
Version:
Smart contracts powering DAVINCI's digital voting protocol
526 lines (525 loc) • 24.9 kB
JavaScript
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.OrganizationRegistry__factory = void 0;
/* Autogenerated file. Do not edit manually. */
/* tslint:disable */
/* eslint-disable */
const ethers_1 = require("ethers");
const _abi = [
{
inputs: [
{
internalType: "address",
name: "target",
type: "address",
},
],
name: "AddressEmptyCode",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "implementation",
type: "address",
},
],
name: "ERC1967InvalidImplementation",
type: "error",
},
{
inputs: [],
name: "ERC1967NonPayable",
type: "error",
},
{
inputs: [],
name: "FailedInnerCall",
type: "error",
},
{
inputs: [],
name: "InvalidAddress",
type: "error",
},
{
inputs: [],
name: "InvalidInitialization",
type: "error",
},
{
inputs: [],
name: "InvalidMetadataURI",
type: "error",
},
{
inputs: [],
name: "InvalidOrganizationID",
type: "error",
},
{
inputs: [],
name: "InvalidOrganizationName",
type: "error",
},
{
inputs: [],
name: "NotAdministrator",
type: "error",
},
{
inputs: [],
name: "NotInitializing",
type: "error",
},
{
inputs: [],
name: "OrganizationAlreadyExists",
type: "error",
},
{
inputs: [],
name: "OrganizationNotFound",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "owner",
type: "address",
},
],
name: "OwnableInvalidOwner",
type: "error",
},
{
inputs: [
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "OwnableUnauthorizedAccount",
type: "error",
},
{
inputs: [],
name: "UUPSUnauthorizedCallContext",
type: "error",
},
{
inputs: [
{
internalType: "bytes32",
name: "slot",
type: "bytes32",
},
],
name: "UUPSUnsupportedProxiableUUID",
type: "error",
},
{
anonymous: false,
inputs: [
{
indexed: false,
internalType: "uint64",
name: "version",
type: "uint64",
},
],
name: "Initialized",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "id",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "creator",
type: "address",
},
],
name: "OrganizationCreated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "id",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "updater",
type: "address",
},
],
name: "OrganizationUpdated",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "previousOwner",
type: "address",
},
{
indexed: true,
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "OwnershipTransferred",
type: "event",
},
{
anonymous: false,
inputs: [
{
indexed: true,
internalType: "address",
name: "implementation",
type: "address",
},
],
name: "Upgraded",
type: "event",
},
{
inputs: [],
name: "UPGRADE_INTERFACE_VERSION",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
{
internalType: "address",
name: "administrator",
type: "address",
},
],
name: "addAdministrator",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "metadataURI",
type: "string",
},
{
internalType: "address[]",
name: "administrators",
type: "address[]",
},
],
name: "createOrganization",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
],
name: "deleteOrganization",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
],
name: "exists",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
],
name: "getOrganization",
outputs: [
{
internalType: "string",
name: "",
type: "string",
},
{
internalType: "string",
name: "",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "initialize",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
{
internalType: "address",
name: "account",
type: "address",
},
],
name: "isAdministrator",
outputs: [
{
internalType: "bool",
name: "",
type: "bool",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "organizationCount",
outputs: [
{
internalType: "uint32",
name: "",
type: "uint32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
name: "organizations",
outputs: [
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "metadataURI",
type: "string",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "owner",
outputs: [
{
internalType: "address",
name: "",
type: "address",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [],
name: "proxiableUUID",
outputs: [
{
internalType: "bytes32",
name: "",
type: "bytes32",
},
],
stateMutability: "view",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
{
internalType: "address",
name: "administrator",
type: "address",
},
],
name: "removeAdministrator",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [],
name: "renounceOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newOwner",
type: "address",
},
],
name: "transferOwnership",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "id",
type: "address",
},
{
internalType: "string",
name: "name",
type: "string",
},
{
internalType: "string",
name: "metadataURI",
type: "string",
},
],
name: "updateOrganization",
outputs: [],
stateMutability: "nonpayable",
type: "function",
},
{
inputs: [
{
internalType: "address",
name: "newImplementation",
type: "address",
},
{
internalType: "bytes",
name: "data",
type: "bytes",
},
],
name: "upgradeToAndCall",
outputs: [],
stateMutability: "payable",
type: "function",
},
];
const _bytecode = "0x60a060405230608052348015601357600080fd5b5060805161189e61003d60003960008181610dd601528181610dff0152610f45015261189e6000f3fe6080604052600436106100fe5760003560e01c80638129fc1c11610095578063c2a950be11610064578063c2a950be146102f8578063d2c30a6d14610318578063f1c6210414610338578063f2fde38b1461036a578063f6a3d24e1461038a57600080fd5b80638129fc1c146102035780638da5cb5b14610218578063ad3cb1cc1461025f578063c1af6e031461029d57600080fd5b80635a1f7406116100d15780635a1f7406146101805780636cca67bf146101ae578063715018a6146101ce5780637acbb8af146101e357600080fd5b80631c2e3d82146101035780633c10eee5146101255780634f1ef2861461014557806352d1902d14610158575b600080fd5b34801561010f57600080fd5b5061012361011e3660046112fb565b6103aa565b005b34801561013157600080fd5b506101236101403660046112fb565b610492565b610123610153366004611344565b610577565b34801561016457600080fd5b5061016d610596565b6040519081526020015b60405180910390f35b34801561018c57600080fd5b506101a061019b36600461140b565b6105b3565b604051610177929190611476565b3480156101ba57600080fd5b506101236101c93660046114e3565b6106df565b3480156101da57600080fd5b50610123610819565b3480156101ef57600080fd5b506101236101fe36600461140b565b61082d565b34801561020f57600080fd5b506101236108e3565b34801561022457600080fd5b507f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546040516001600160a01b039091168152602001610177565b34801561026b57600080fd5b50610290604051806040016040528060058152602001640352e302e360dc1b81525081565b6040516101779190611567565b3480156102a957600080fd5b506102e86102b83660046112fb565b6001600160a01b039182166000908152602081815260408083209390941682526002909201909152205460ff1690565b6040519015158152602001610177565b34801561030457600080fd5b5061012361031336600461157a565b6109f8565b34801561032457600080fd5b506101a061033336600461140b565b610c11565b34801561034457600080fd5b506001546103559063ffffffff1681565b60405163ffffffff9091168152602001610177565b34801561037657600080fd5b5061012361038536600461140b565b610d58565b34801561039657600080fd5b506102e86103a536600461140b565b610d9b565b6001600160a01b038216600090815260208181526040808320338452600201909152902054829060ff166103f15760405163e85bbb2160e01b815260040160405180910390fd5b6001600160a01b0383166000908152602081905260408120805461041490611662565b90501161043457604051639551f8b360e01b815260040160405180910390fd5b6001600160a01b03821661045b5760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03918216600090815260208181526040808320939094168252600290920190915220805460ff19166001179055565b6001600160a01b038216600090815260208181526040808320338452600201909152902054829060ff166104d95760405163e85bbb2160e01b815260040160405180910390fd5b6001600160a01b038316600090815260208190526040812080546104fc90611662565b90501161051c57604051639551f8b360e01b815260040160405180910390fd5b6001600160a01b0382166105435760405163e6c4247b60e01b815260040160405180910390fd5b506001600160a01b03918216600090815260208181526040808320939094168252600290920190915220805460ff19169055565b61057f610dcb565b61058882610e70565b6105928282610e78565b5050565b60006105a0610f3a565b5060008051602061184983398151915290565b6000602081905290815260409020805481906105ce90611662565b80601f01602080910402602001604051908101604052809291908181526020018280546105fa90611662565b80156106475780601f1061061c57610100808354040283529160200191610647565b820191906000526020600020905b81548152906001019060200180831161062a57829003601f168201915b50505050509080600101805461065c90611662565b80601f016020809104026020016040519081016040528092919081815260200182805461068890611662565b80156106d55780601f106106aa576101008083540402835291602001916106d5565b820191906000526020600020905b8154815290600101906020018083116106b857829003601f168201915b5050505050905082565b6001600160a01b038516600090815260208181526040808320338452600201909152902054859060ff166107265760405163e85bbb2160e01b815260040160405180910390fd5b8361074457604051631b0b678d60e31b815260040160405180910390fd5b8161076257604051630eec403f60e41b815260040160405180910390fd5b6001600160a01b0386166000908152602081905260408120805461078590611662565b9050116107a557604051639551f8b360e01b815260040160405180910390fd5b6001600160a01b0386166000908152602081905260409020806107c98688836116e3565b50600181016107d98486836116e3565b5060405133906001600160a01b038916907fdcd663553eb7f5f57b83637c17d95d22a764affd6dbcc98f8ce9dcbac3e239f690600090a350505050505050565b610821610f83565b61082b6000610fde565b565b610835610f83565b6001600160a01b0381166000908152602081905260408120805461085890611662565b90501161087857604051639551f8b360e01b815260040160405180910390fd5b6001600160a01b03811660009081526020819052604081209061089b8282611291565b6108a9600183016000611291565b50506001805463ffffffff169060006108c1836117b8565b91906101000a81548163ffffffff021916908363ffffffff1602179055505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b03166000811580156109285750825b90506000826001600160401b031660011480156109445750303b155b905081158015610952575080155b156109705760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff19166001178555831561099a57845460ff60401b1916600160401b1785555b6109a33361104f565b6109ab611060565b83156109f157845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050565b6001600160a01b038716610a1f5760405163370cf03b60e21b815260040160405180910390fd5b84610a3d57604051631b0b678d60e31b815260040160405180910390fd5b6001600160a01b03871660009081526020819052604090208054610a6090611662565b159050610a80576040516369c24f0b60e01b815260040160405180910390fd5b6001600160a01b038716600090815260208190526040902080610aa48789836116e3565b5060018101610ab48587836116e3565b508115610b775760005b82811015610b75576000848483818110610ada57610ada6117d8565b9050602002016020810190610aef919061140b565b6001600160a01b031603610b165760405163e6c4247b60e01b815260040160405180910390fd5b6001826002016000868685818110610b3057610b306117d8565b9050602002016020810190610b45919061140b565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055600101610abe565b505b3360009081526002820160205260408120805460ff19166001908117909155805463ffffffff1691610ba8836117ee565b91906101000a81548163ffffffff021916908363ffffffff16021790555050336001600160a01b0316886001600160a01b03167f2725ca0bb6f842da395a595005373aaa8e052b21133359b3c75f59a1247e6e7a60405160405180910390a35050505050505050565b6001600160a01b038116600090815260208190526040902080546060918291819060018201908290610c4290611662565b80601f0160208091040260200160405190810160405280929190818152602001828054610c6e90611662565b8015610cbb5780601f10610c9057610100808354040283529160200191610cbb565b820191906000526020600020905b815481529060010190602001808311610c9e57829003601f168201915b50505050509150808054610cce90611662565b80601f0160208091040260200160405190810160405280929190818152602001828054610cfa90611662565b8015610d475780601f10610d1c57610100808354040283529160200191610d47565b820191906000526020600020905b815481529060010190602001808311610d2a57829003601f168201915b505050505090509250925050915091565b610d60610f83565b6001600160a01b038116610d8f57604051631e4fbdf760e01b8152600060048201526024015b60405180910390fd5b610d9881610fde565b50565b6001600160a01b03811660009081526020819052604081208054829190610dc190611662565b9050119050919050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161480610e5257507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316610e46600080516020611849833981519152546001600160a01b031690565b6001600160a01b031614155b1561082b5760405163703e46dd60e11b815260040160405180910390fd5b610d98610f83565b816001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015610ed2575060408051601f3d908101601f19168201909252610ecf91810190611813565b60015b610efa57604051634c9c8ce360e01b81526001600160a01b0383166004820152602401610d86565b6000805160206118498339815191528114610f2b57604051632a87526960e21b815260048101829052602401610d86565b610f358383611068565b505050565b306001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000161461082b5760405163703e46dd60e11b815260040160405180910390fd5b33610fb57f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c199300546001600160a01b031690565b6001600160a01b03161461082b5760405163118cdaa760e01b8152336004820152602401610d86565b7f9016d09d72d40fdae2fd8ceac6b6234c7706214fd39c1cd1e609a0528c19930080546001600160a01b031981166001600160a01b03848116918217845560405192169182907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3505050565b6110576110be565b610d9881611107565b61082b6110be565b6110718261110f565b6040516001600160a01b038316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a28051156110b657610f358282611174565b6105926111ea565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661082b57604051631afcd79f60e31b815260040160405180910390fd5b610d606110be565b806001600160a01b03163b60000361114557604051634c9c8ce360e01b81526001600160a01b0382166004820152602401610d86565b60008051602061184983398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6060600080846001600160a01b031684604051611191919061182c565b600060405180830381855af49150503d80600081146111cc576040519150601f19603f3d011682016040523d82523d6000602084013e6111d1565b606091505b50915091506111e1858383611209565b95945050505050565b341561082b5760405163b398979f60e01b815260040160405180910390fd5b60608261121e5761121982611268565b611261565b815115801561123557506001600160a01b0384163b155b1561125e57604051639996b31560e01b81526001600160a01b0385166004820152602401610d86565b50805b9392505050565b8051156112785780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b50805461129d90611662565b6000825580601f106112ad575050565b601f016020900490600052602060002090810190610d9891905b808211156112db57600081556001016112c7565b5090565b80356001600160a01b03811681146112f657600080fd5b919050565b6000806040838503121561130e57600080fd5b611317836112df565b9150611325602084016112df565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561135757600080fd5b611360836112df565b915060208301356001600160401b0381111561137b57600080fd5b8301601f8101851361138c57600080fd5b80356001600160401b038111156113a5576113a561132e565b604051601f8201601f19908116603f011681016001600160401b03811182821017156113d3576113d361132e565b6040528181528282016020018710156113eb57600080fd5b816020840160208301376000602083830101528093505050509250929050565b60006020828403121561141d57600080fd5b611261826112df565b60005b83811015611441578181015183820152602001611429565b50506000910152565b60008151808452611462816020860160208601611426565b601f01601f19169290920160200192915050565b604081526000611489604083018561144a565b82810360208401526111e1818561144a565b60008083601f8401126114ad57600080fd5b5081356001600160401b038111156114c457600080fd5b6020830191508360208285010111156114dc57600080fd5b9250929050565b6000806000806000606086880312156114fb57600080fd5b611504866112df565b945060208601356001600160401b0381111561151f57600080fd5b61152b8882890161149b565b90955093505060408601356001600160401b0381111561154a57600080fd5b6115568882890161149b565b969995985093965092949392505050565b602081526000611261602083018461144a565b60008060008060008060006080888a03121561159557600080fd5b61159e886112df565b965060208801356001600160401b038111156115b957600080fd5b6115c58a828b0161149b565b90975095505060408801356001600160401b038111156115e457600080fd5b6115f08a828b0161149b565b90955093505060608801356001600160401b0381111561160f57600080fd5b8801601f81018a1361162057600080fd5b80356001600160401b0381111561163657600080fd5b8a60208260051b840101111561164b57600080fd5b602082019350809250505092959891949750929550565b600181811c9082168061167657607f821691505b60208210810361169657634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115610f3557806000526020600020601f840160051c810160208510156116c35750805b601f840160051c820191505b818110156109f157600081556001016116cf565b6001600160401b038311156116fa576116fa61132e565b61170e836117088354611662565b8361169c565b6000601f841160018114611742576000851561172a5750838201355b600019600387901b1c1916600186901b1783556109f1565b600083815260209020601f19861690835b828110156117735786850135825560209485019460019092019101611753565b50868210156117905760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8216806117ce576117ce6117a2565b6000190192915050565b634e487b7160e01b600052603260045260246000fd5b600063ffffffff821663ffffffff810361180a5761180a6117a2565b60010192915050565b60006020828403121561182557600080fd5b5051919050565b6000825161183e818460208701611426565b919091019291505056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbca2646970667358221220a6a60d29c208ae7983c8750f588a3f3b46e54ad723e4259b34c5eef25ae5efce64736f6c634300081c0033";
const isSuperArgs = (xs) => xs.length > 1;
class OrganizationRegistry__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.OrganizationRegistry__factory = OrganizationRegistry__factory;
OrganizationRegistry__factory.bytecode = _bytecode;
OrganizationRegistry__factory.abi = _abi;