/* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ import { Signer, providers, Contract, ContractFactory, Overrides } from "ethers"; type TransactionRequest = providers.TransactionRequest; type Provider = providers.Provider; import type { Governance } from "./Governance"; export class GovernanceFactory extends ContractFactory { constructor(signer?: Signer) { super(_abi, _bytecode, signer); } deploy(overrides?: Overrides): Promise { return super.deploy(overrides || {}) as Promise; } getDeployTransaction(overrides?: Overrides): TransactionRequest { return super.getDeployTransaction(overrides || {}); } attach(address: string): Governance { return super.attach(address) as Governance; } connect(signer: Signer): GovernanceFactory { return super.connect(signer) as GovernanceFactory; } static connect( address: string, signerOrProvider: Signer | Provider ): Governance { return new Contract(address, _abi, signerOrProvider) as Governance; } } const _abi = [ { anonymous: false, inputs: [ { indexed: true, internalType: "uint32", name: "creatorAccountId", type: "uint32", }, { indexed: true, internalType: "address", name: "creatorAddress", type: "address", }, { indexed: false, internalType: "address", name: "factoryAddress", type: "address", }, ], name: "NFTFactoryRegisteredCreator", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "newGovernor", type: "address", }, ], name: "NewGovernor", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "token", type: "address", }, { indexed: true, internalType: "uint16", name: "tokenId", type: "uint16", }, ], name: "NewToken", type: "event", }, { anonymous: false, inputs: [ { indexed: false, internalType: "address", name: "newTokenGovernance", type: "address", }, ], name: "NewTokenGovernance", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "token", type: "address", }, { indexed: false, internalType: "bool", name: "paused", type: "bool", }, ], name: "TokenPausedUpdate", type: "event", }, { anonymous: false, inputs: [ { indexed: true, internalType: "address", name: "validatorAddress", type: "address", }, { indexed: false, internalType: "bool", name: "isActive", type: "bool", }, ], name: "ValidatorStatusUpdate", type: "event", }, { inputs: [ { internalType: "address", name: "_token", type: "address", }, ], name: "addToken", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_newGovernor", type: "address", }, ], name: "changeGovernor", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_newTokenGovernance", type: "address", }, ], name: "changeTokenGovernance", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [], name: "defaultFactory", outputs: [ { internalType: "contract NFTFactory", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint32", name: "_creatorAccountId", type: "uint32", }, { internalType: "address", name: "_creatorAddress", type: "address", }, ], name: "getNFTFactory", outputs: [ { internalType: "contract NFTFactory", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes", name: "initializationParameters", type: "bytes", }, ], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint16", name: "_tokenId", type: "uint16", }, ], name: "isValidTokenId", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "networkGovernor", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint32", name: "", type: "uint32", }, { internalType: "address", name: "", type: "address", }, ], name: "nftFactories", outputs: [ { internalType: "contract NFTFactory", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], name: "pausedTokens", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "uint32", name: "_creatorAccountId", type: "uint32", }, { internalType: "address", name: "_creatorAddress", type: "address", }, { internalType: "bytes", name: "_signature", type: "bytes", }, ], name: "registerNFTFactoryCreator", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "requireActiveValidator", outputs: [], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_address", type: "address", }, ], name: "requireGovernor", outputs: [], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "_factory", type: "address", }, ], name: "setDefaultNFTFactory", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_tokenAddr", type: "address", }, { internalType: "bool", name: "_tokenPaused", type: "bool", }, ], name: "setTokenPaused", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_validator", type: "address", }, { internalType: "bool", name: "_active", type: "bool", }, ], name: "setValidator", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], name: "tokenAddresses", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "tokenGovernance", outputs: [ { internalType: "address", name: "", type: "address", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "tokenIds", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [], name: "totalTokens", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "bytes", name: "upgradeParameters", type: "bytes", }, ], name: "upgrade", outputs: [], stateMutability: "nonpayable", type: "function", }, { inputs: [ { internalType: "address", name: "_tokenAddr", type: "address", }, ], name: "validateTokenAddress", outputs: [ { internalType: "uint16", name: "", type: "uint16", }, ], stateMutability: "view", type: "function", }, { inputs: [ { internalType: "address", name: "", type: "address", }, ], name: "validators", outputs: [ { internalType: "bool", name: "", type: "bool", }, ], stateMutability: "view", type: "function", }, ]; const _bytecode = "0x608060405234801561001057600080fd5b50611184806100206000396000f3fe608060405234801561001057600080fd5b506004361061012d5760003560e01c8063ce09e20d116100b3578063ce09e20d1461040d578063d48bfca714610433578063d4b6846d14610459578063e122b7d114610461578063e2c7926814610493578063e4c0aaf4146104c8578063ead31762146104ee578063f39349ef14610514578063f3a65bf91461051c578063f5f84ed41461053d578063fa52c7d814610563578063fc97a303146105895761012d565b806310603dad14610132578063253946451461016f578063439fab91146101df5780634623c91d1461024d5780634b18bd0f1461027b57806362257470146102a157806378393d22146102cf5780637e1c0c09146102f55780638d1db94014610314578063b79eb8c71461031c578063c4dcb92c1461034e575b600080fd5b6101536004803603602081101561014857600080fd5b503561ffff166105af565b604080516001600160a01b039092168252519081900360200190f35b6101dd6004803603602081101561018557600080fd5b810190602081018135600160201b81111561019f57600080fd5b8201836020820111156101b157600080fd5b803590602001918460018302840111600160201b831117156101d257600080fd5b5090925090506105ca565b005b6101dd600480360360208110156101f557600080fd5b810190602081018135600160201b81111561020f57600080fd5b82018360208201111561022157600080fd5b803590602001918460018302840111600160201b8311171561024257600080fd5b5090925090506105ce565b6101dd6004803603604081101561026357600080fd5b506001600160a01b0381351690602001351515610607565b6101dd6004803603602081101561029157600080fd5b50356001600160a01b0316610696565b6101dd600480360360408110156102b757600080fd5b506001600160a01b03813516906020013515156106eb565b6101dd600480360360208110156102e557600080fd5b50356001600160a01b03166107fa565b6102fd61086c565b6040805161ffff9092168252519081900360200190f35b61015361087d565b6101536004803603604081101561033257600080fd5b50803563ffffffff1690602001356001600160a01b031661088c565b6101dd6004803603606081101561036457600080fd5b63ffffffff823516916001600160a01b0360208201351691810190606081016040820135600160201b81111561039957600080fd5b8201836020820111156103ab57600080fd5b803590602001918460018302840111600160201b831117156103cc57600080fd5b91908080601f0160208091040260200160405190810160405280939291908181526020018383808284376000920191909152509295506108d8945050505050565b6101dd6004803603602081101561042357600080fd5b50356001600160a01b0316610c0e565b6101dd6004803603602081101561044957600080fd5b50356001600160a01b0316610c7c565b610153610dfb565b6101536004803603604081101561047757600080fd5b50803563ffffffff1690602001356001600160a01b0316610e0a565b6104b4600480360360208110156104a957600080fd5b503561ffff16610e30565b604080519115158252519081900360200190f35b6101dd600480360360208110156104de57600080fd5b50356001600160a01b0316610e47565b6102fd6004803603602081101561050457600080fd5b50356001600160a01b0316610eb9565b610153610f0d565b6104b46004803603602081101561053257600080fd5b503561ffff16610f1c565b6101dd6004803603602081101561055357600080fd5b50356001600160a01b0316610f31565b6104b46004803603602081101561057957600080fd5b50356001600160a01b0316610f78565b6102fd6004803603602081101561059f57600080fd5b50356001600160a01b0316610f8d565b6001602052600090815260409020546001600160a01b031681565b5050565b6000828260208110156105e057600080fd5b506000805491356001600160a01b03166001600160a01b0319909216919091179055505050565b61061033610f31565b6001600160a01b03821660009081526003602052604090205460ff161515811515146105ca576001600160a01b038216600081815260036020908152604091829020805460ff1916851515908117909155825190815291517f065b77b53864e46fda3d8986acb51696223d6dde7ced42441eb150bae6d481369281900390910190a25050565b6001600160a01b03811660009081526003602052604090205460ff166106e8576040805162461bcd60e51b8152602060048201526002602482015261062d60f31b604482015290519081900360640190fd5b50565b6106f433610f31565b6000306001600160a01b031663ead31762846040518263ffffffff1660e01b815260040180826001600160a01b0316815260200191505060206040518083038186803b15801561074357600080fd5b505afa158015610757573d6000803e3d6000fd5b505050506040513d602081101561076d57600080fd5b505161ffff811660009081526004602052604090205490915060ff161515821515146107f55761ffff8116600090815260046020908152604091829020805460ff1916851515908117909155825190815291516001600160a01b038616927ff72cbadf0693609a042637541df35c63e7e074363dea6efb5c19d6c7814ceee992908290030190a25b505050565b61080333610f31565b6005546001600160a01b038281169116146106e857600580546001600160a01b0383166001600160a01b0319909116811790915560408051918252517fb24c0fc80a0c2a8c6a406f1f63ac240a949e45444715e77bcb06073a1a1d401c9181900360200190a150565b600054600160a01b900461ffff1681565b6005546001600160a01b031681565b63ffffffff821660009081526006602090815260408083206001600160a01b038086168552925282205416806108cf5750506007546001600160a01b03166108d2565b90505b92915050565b63ffffffff831660009081526006602090815260408083206001600160a01b038681168552925290912054161561093a576040805162461bcd60e51b81526020600482015260016024820152605160f81b604482015290519081900360640190fd5b600061096d84604051602001808263ffffffff1660e01b8152600401915050604051602081830303815290604052610fa3565b6109a18460405160200180826001600160a01b031660601b8152601401915050604051602081830303815290604052610fa3565b604080513360601b60208201528151808203601401815260349091019091526109c990610fa3565b6040517f19457468657265756d205369676e6564204d6573736167653a0a3134310000006020820190815290603d01602161112e823960210184805190602001908083835b60208310610a2d5780518252601f199092019160209182019101610a0e565b51815160209384036101000a600019018019909216911617905268521b932b0ba37b91d160b51b919093019081528551600a90910192860191508083835b60208310610a8a5780518252601f199092019160209182019101610a6b565b51815160209384036101000a60001901801990921691161790526852330b1ba37b93c9d160b51b919093019081528451600a90910192850191508083835b60208310610ae75780518252601f199092019160209182019101610ac8565b6001836020036101000a03801982511681845116808217855250505050505090500193505050506040516020818303038152906040528051906020012090506000610b328383611065565b9050836001600160a01b0316816001600160a01b0316148015610b5d57506001600160a01b03811615155b610b93576040805162461bcd60e51b8152602060048201526002602482015261777360f01b604482015290519081900360640190fd5b63ffffffff851660008181526006602090815260408083206001600160a01b0389168085529083529281902080546001600160a01b03191633908117909155815190815290519293927fa31b86f0827cd4eabf087b77e866f658278cb60e2d7c291d407edaada53408e0929181900390910190a35050505050565b610c1733610f31565b6007546001600160a01b031615610c5a576040805162461bcd60e51b815260206004820152600260248201526136b160f11b604482015290519081900360640190fd5b600780546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314610cc0576040805162461bcd60e51b8152602060048201526002602482015261314560f01b604482015290519081900360640190fd5b6001600160a01b03811660009081526002602052604090205461ffff1615610d14576040805162461bcd60e51b8152602060048201526002602482015261316560f01b604482015290519081900360640190fd5b6000546005600160a01b90910461ffff1610610d5c576040805162461bcd60e51b815260206004820152600260248201526118b360f11b604482015290519081900360640190fd5b60008054600161ffff600160a01b808404821683018216810261ffff60a01b1990941693909317808555929092049091168083526020918252604080842080546001600160a01b0387166001600160a01b031990911681179091558085526002909352808420805461ffff1916831790555190928392917ffe74dea79bde70d1990ddb655bac45735b14f495ddc508cfab80b7729aa9d6689190a35050565b6007546001600160a01b031681565b60066020908152600092835260408084209091529082529020546001600160a01b031681565b600054600160a01b900461ffff9081169116111590565b610e5033610f31565b6000546001600160a01b038281169116146106e857600080546001600160a01b0383166001600160a01b0319909116811790915560408051918252517f5425363a03f182281120f5919107c49c7a1a623acc1cbc6df468b6f0c11fcf8c9181900360200190a150565b6001600160a01b03811660009081526002602052604081205461ffff16806108d2576040805162461bcd60e51b8152602060048201526002602482015261316960f01b604482015290519081900360640190fd5b6000546001600160a01b031681565b60046020526000908152604090205460ff1681565b6000546001600160a01b038281169116146106e8576040805162461bcd60e51b8152602060048201526002602482015261316760f01b604482015290519081900360640190fd5b60036020526000908152604090205460ff1681565b60026020526000908152604090205461ffff1681565b60606000825160020267ffffffffffffffff81118015610fc257600080fd5b506040519080825280601f01601f191660200182016040528015610fed576020820181803683370190505b5090506020830183518101602083015b8183101561105b57825160f81c6f6665646362613938373635343332313060088260041c021c60f81b82526f66656463626139383736353433323130600882600f16021c60f81b600183015250600183019250600281019050610ffd565b5091949350505050565b600082516041146110a1576040805162461bcd60e51b81526020600482015260016024820152600560fc1b604482015290519081900360640190fd5b60008060006020860151925060408601519150606086015160001a905060018582858560405160008152602001604052604051808581526020018460ff1681526020018381526020018281526020019450505050506020604051602081039080840390855afa158015611118573d6000803e3d6000fd5b5050604051601f19015197965050505050505056fe0a43726561746f722773206163636f756e7420494420696e207a6b53796e633a20a2646970667358221220643c94dea7204728fe246c744f5d5984f2fe7641921f3b225362b0b89e9488d764736f6c63430007060033";