"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.setUserRole = exports.setRoleCapability = exports.setPublicCapability = exports.setOwner = exports.setAuthority = exports.owner = exports.openPoolSupplierCapabilities = exports.openPoolBorrowerCapabilities = exports.isCapabilityPublic = exports.initialize = exports.getUserRoles = exports.getRolesWithCapability = exports.doesUserHaveRole = exports.doesRoleHaveCapability = exports.configureRegistryCapabilities = exports.configurePoolSupplierCapabilities = exports.configurePoolBorrowerCapabilities = exports.configureOpenPoolLiquidatorCapabilities = exports.configureLeveredPositionCapabilities = exports.configureClosedPoolLiquidatorCapabilities = exports.closePoolSupplierCapabilities = exports.closePoolBorrowerCapabilities = exports.canCall = exports.authority = exports.SUPPLIER_ROLE = exports.REGISTRY_ROLE = exports.LIQUIDATOR_ROLE = exports.LEVERED_POSITION_ROLE = exports.BORROWER_ROLE = exports.UserRoleUpdated = exports.RoleCapabilityUpdated = exports.PublicCapabilityUpdated = exports.OwnerUpdated = exports.Initialized = exports.AuthorityUpdated = void 0;
/**
 * Autogenerated file. Do not edit manually. */
exports.AuthorityUpdated = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "user", type: "address" }, { indexed: true, internalType: "contract Authority", name: "newAuthority", type: "address" }], name: "AuthorityUpdated", type: "event" };
exports.Initialized = { anonymous: false, inputs: [{ indexed: false, internalType: "uint8", name: "version", type: "uint8" }], name: "Initialized", type: "event" };
exports.OwnerUpdated = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "user", type: "address" }, { indexed: true, internalType: "address", name: "newOwner", type: "address" }], name: "OwnerUpdated", type: "event" };
exports.PublicCapabilityUpdated = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "target", type: "address" }, { indexed: true, internalType: "bytes4", name: "functionSig", type: "bytes4" }, { indexed: false, internalType: "bool", name: "enabled", type: "bool" }], name: "PublicCapabilityUpdated", type: "event" };
exports.RoleCapabilityUpdated = { anonymous: false, inputs: [{ indexed: true, internalType: "uint8", name: "role", type: "uint8" }, { indexed: true, internalType: "address", name: "target", type: "address" }, { indexed: true, internalType: "bytes4", name: "functionSig", type: "bytes4" }, { indexed: false, internalType: "bool", name: "enabled", type: "bool" }], name: "RoleCapabilityUpdated", type: "event" };
exports.UserRoleUpdated = { anonymous: false, inputs: [{ indexed: true, internalType: "address", name: "user", type: "address" }, { indexed: true, internalType: "uint8", name: "role", type: "uint8" }, { indexed: false, internalType: "bool", name: "enabled", type: "bool" }], name: "UserRoleUpdated", type: "event" };
exports.BORROWER_ROLE = { inputs: [], name: "BORROWER_ROLE", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function" };
exports.LEVERED_POSITION_ROLE = { inputs: [], name: "LEVERED_POSITION_ROLE", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function" };
exports.LIQUIDATOR_ROLE = { inputs: [], name: "LIQUIDATOR_ROLE", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function" };
exports.REGISTRY_ROLE = { inputs: [], name: "REGISTRY_ROLE", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function" };
exports.SUPPLIER_ROLE = { inputs: [], name: "SUPPLIER_ROLE", outputs: [{ internalType: "uint8", name: "", type: "uint8" }], stateMutability: "view", type: "function" };
exports.authority = { inputs: [], name: "authority", outputs: [{ internalType: "contract Authority", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.canCall = { inputs: [{ internalType: "address", name: "user", type: "address" }, { internalType: "address", name: "target", type: "address" }, { internalType: "bytes4", name: "functionSig", type: "bytes4" }], name: "canCall", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.closePoolBorrowerCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "closePoolBorrowerCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.closePoolSupplierCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "closePoolSupplierCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configureClosedPoolLiquidatorCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "configureClosedPoolLiquidatorCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configureLeveredPositionCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "configureLeveredPositionCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configureOpenPoolLiquidatorCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "configureOpenPoolLiquidatorCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configurePoolBorrowerCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "configurePoolBorrowerCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configurePoolSupplierCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "configurePoolSupplierCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.configureRegistryCapabilities = { inputs: [], name: "configureRegistryCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.doesRoleHaveCapability = { inputs: [{ internalType: "uint8", name: "role", type: "uint8" }, { internalType: "address", name: "target", type: "address" }, { internalType: "bytes4", name: "functionSig", type: "bytes4" }], name: "doesRoleHaveCapability", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.doesUserHaveRole = { inputs: [{ internalType: "address", name: "user", type: "address" }, { internalType: "uint8", name: "role", type: "uint8" }], name: "doesUserHaveRole", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.getRolesWithCapability = { inputs: [{ internalType: "address", name: "", type: "address" }, { internalType: "bytes4", name: "", type: "bytes4" }], name: "getRolesWithCapability", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function" };
exports.getUserRoles = { inputs: [{ internalType: "address", name: "", type: "address" }], name: "getUserRoles", outputs: [{ internalType: "bytes32", name: "", type: "bytes32" }], stateMutability: "view", type: "function" };
exports.initialize = { inputs: [{ internalType: "address", name: "_owner", type: "address" }], name: "initialize", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.isCapabilityPublic = { inputs: [{ internalType: "address", name: "", type: "address" }, { internalType: "bytes4", name: "", type: "bytes4" }], name: "isCapabilityPublic", outputs: [{ internalType: "bool", name: "", type: "bool" }], stateMutability: "view", type: "function" };
exports.openPoolBorrowerCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "openPoolBorrowerCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.openPoolSupplierCapabilities = { inputs: [{ internalType: "contract IonicComptroller", name: "pool", type: "address" }], name: "openPoolSupplierCapabilities", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.owner = { inputs: [], name: "owner", outputs: [{ internalType: "address", name: "", type: "address" }], stateMutability: "view", type: "function" };
exports.setAuthority = { inputs: [{ internalType: "contract Authority", name: "newAuthority", type: "address" }], name: "setAuthority", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.setOwner = { inputs: [{ internalType: "address", name: "newOwner", type: "address" }], name: "setOwner", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.setPublicCapability = { inputs: [{ internalType: "address", name: "target", type: "address" }, { internalType: "bytes4", name: "functionSig", type: "bytes4" }, { internalType: "bool", name: "enabled", type: "bool" }], name: "setPublicCapability", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.setRoleCapability = { inputs: [{ internalType: "uint8", name: "role", type: "uint8" }, { internalType: "address", name: "target", type: "address" }, { internalType: "bytes4", name: "functionSig", type: "bytes4" }, { internalType: "bool", name: "enabled", type: "bool" }], name: "setRoleCapability", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.setUserRole = { inputs: [{ internalType: "address", name: "user", type: "address" }, { internalType: "uint8", name: "role", type: "uint8" }, { internalType: "bool", name: "enabled", type: "bool" }], name: "setUserRole", outputs: [], stateMutability: "nonpayable", type: "function" };
exports.default = [exports.AuthorityUpdated, exports.Initialized, exports.OwnerUpdated, exports.PublicCapabilityUpdated, exports.RoleCapabilityUpdated, exports.UserRoleUpdated, exports.BORROWER_ROLE, exports.LEVERED_POSITION_ROLE, exports.LIQUIDATOR_ROLE, exports.REGISTRY_ROLE, exports.SUPPLIER_ROLE, exports.authority, exports.canCall, exports.closePoolBorrowerCapabilities, exports.closePoolSupplierCapabilities, exports.configureClosedPoolLiquidatorCapabilities, exports.configureLeveredPositionCapabilities, exports.configureOpenPoolLiquidatorCapabilities, exports.configurePoolBorrowerCapabilities, exports.configurePoolSupplierCapabilities, exports.configureRegistryCapabilities, exports.doesRoleHaveCapability, exports.doesUserHaveRole, exports.getRolesWithCapability, exports.getUserRoles, exports.initialize, exports.isCapabilityPublic, exports.openPoolBorrowerCapabilities, exports.openPoolSupplierCapabilities, exports.owner, exports.setAuthority, exports.setOwner, exports.setPublicCapability, exports.setRoleCapability, exports.setUserRole];
