UNPKG

@q-dev/gdk-sdk

Version:

Typescript Library to interact with GDK Contracts

857 lines (856 loc) 58.8 kB
import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PayableOverrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result, EventFragment } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "./common"; export type ParameterStruct = { name: string; value: BytesLike; solidityType: BigNumberish; }; export type ParameterStructOutput = [string, string, number] & { name: string; value: string; solidityType: number; }; export type DAOModuleContractorParametersStruct = { moduleName: string; moduleAddress: string; connectorRoleName: string; moduleType: BigNumberish; constitutionParameters: ParameterStruct[]; votingName: string; situation: IDAOVoting.ExtendedSituationStruct; vetoGroupSource: string; initCallData: BytesLike; salt: BytesLike; }; export type DAOModuleContractorParametersStructOutput = [ string, string, string, number, ParameterStructOutput[], string, IDAOVoting.ExtendedSituationStructOutput, string, string, string ] & { moduleName: string; moduleAddress: string; connectorRoleName: string; moduleType: number; constitutionParameters: ParameterStructOutput[]; votingName: string; situation: IDAOVoting.ExtendedSituationStructOutput; vetoGroupSource: string; initCallData: string; salt: string; }; export type DAOPanelConstructorParametersStruct = { panelName: string; votingToken: string; situations: IDAOVoting.ExtendedSituationStruct[]; initialParameters: ParameterStruct[]; initialMembers: string[]; }; export type DAOPanelConstructorParametersStructOutput = [ string, string, IDAOVoting.ExtendedSituationStructOutput[], ParameterStructOutput[], string[] ] & { panelName: string; votingToken: string; situations: IDAOVoting.ExtendedSituationStructOutput[]; initialParameters: ParameterStructOutput[]; initialMembers: string[]; }; export declare namespace IRBAC { type ResourceWithPermissionsStruct = { resource: string; permissions: string[]; }; type ResourceWithPermissionsStructOutput = [string, string[]] & { resource: string; permissions: string[]; }; } export declare namespace IPermissionManager { type VetoGroupStruct = { target: string; linkedMemberStorage: string; }; type VetoGroupStructOutput = [string, string] & { target: string; linkedMemberStorage: string; }; } export declare namespace IDAOVoting { type DAOVotingValuesStruct = { votingPeriod: BigNumberish; vetoPeriod: BigNumberish; proposalExecutionPeriod: BigNumberish; requiredQuorum: BigNumberish; requiredMajority: BigNumberish; requiredVetoQuorum: BigNumberish; votingType: BigNumberish; votingTarget: string; votingMinAmount: BigNumberish; }; type DAOVotingValuesStructOutput = [ BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, BigNumber, string, BigNumber ] & { votingPeriod: BigNumber; vetoPeriod: BigNumber; proposalExecutionPeriod: BigNumber; requiredQuorum: BigNumber; requiredMajority: BigNumber; requiredVetoQuorum: BigNumber; votingType: BigNumber; votingTarget: string; votingMinAmount: BigNumber; }; type InitialSituationStruct = { votingSituationName: string; votingValues: IDAOVoting.DAOVotingValuesStruct; }; type InitialSituationStructOutput = [ string, IDAOVoting.DAOVotingValuesStructOutput ] & { votingSituationName: string; votingValues: IDAOVoting.DAOVotingValuesStructOutput; }; type ExtendedSituationStruct = { initialSituation: IDAOVoting.InitialSituationStruct; externalLink: string; }; type ExtendedSituationStructOutput = [ IDAOVoting.InitialSituationStructOutput, string ] & { initialSituation: IDAOVoting.InitialSituationStructOutput; externalLink: string; }; } export interface PermissionManagerInterface extends utils.Interface { functions: { "ALL_PERMISSION()": FunctionFragment; "ALL_RESOURCE()": FunctionFragment; "CREATE_PERMISSION()": FunctionFragment; "DELETE_PERMISSION()": FunctionFragment; "MASTER_ROLE()": FunctionFragment; "PERMISSION_MANAGER_RESOURCE()": FunctionFragment; "RBAC_RESOURCE()": FunctionFragment; "READ_PERMISSION()": FunctionFragment; "UPDATE_PERMISSION()": FunctionFragment; "__PermissionManager_init(address,address,string)": FunctionFragment; "addMemberToGroup(address,string[])": FunctionFragment; "addPermissionsToRole(string,(string,string[])[],bool)": FunctionFragment; "addUserToGroups(address,string[])": FunctionFragment; "addVetoGroup(address,address)": FunctionFragment; "addVetoGroups((address,address)[])": FunctionFragment; "checkPermission(address,string)": FunctionFragment; "confExternalModule(string)": FunctionFragment; "deployModuleViaFactory((string,address,string,uint8,(string,bytes,uint8)[],string,((string,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,string,uint256)),string),address,bytes,bytes32))": FunctionFragment; "deployPanelViaFactory((string,address,((string,(uint256,uint256,uint256,uint256,uint256,uint256,uint256,string,uint256)),string)[],(string,bytes,uint8)[],address[]))": FunctionFragment; "getDAORegistry()": FunctionFragment; "getDefaultGroupEnabled()": FunctionFragment; "getExistingVetoGroupTargets()": FunctionFragment; "getGroupRoles(string)": FunctionFragment; "getResource()": FunctionFragment; "getRolePermissions(string)": FunctionFragment; "getUserGroups(address)": FunctionFragment; "getUserRoles(address)": FunctionFragment; "getVetoGroupInfo(address)": FunctionFragment; "getVetoGroupMembers(address)": FunctionFragment; "getVetoMembersCount(address)": FunctionFragment; "grantGroupRoles(string,string[])": FunctionFragment; "grantRoles(address,string[])": FunctionFragment; "hasPermission(address,string,string)": FunctionFragment; "implementation()": FunctionFragment; "isUserInVetoGroup(address,address)": FunctionFragment; "isVetoGroupExists(address)": FunctionFragment; "linkStorageToVetoGroup(address,address)": FunctionFragment; "multicall(bytes[])": FunctionFragment; "proxiableUUID()": FunctionFragment; "removeMemberFromGroup(address,string[])": FunctionFragment; "removePermissionsFromRole(string,(string,string[])[],bool)": FunctionFragment; "removeUserFromGroups(address,string[])": FunctionFragment; "removeVetoGroup(address)": FunctionFragment; "revokeGroupRoles(string,string[])": FunctionFragment; "revokeRoles(address,string[])": FunctionFragment; "setDAORegistry(address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "toggleDefaultGroup()": FunctionFragment; "upgradeTo(address)": FunctionFragment; "upgradeToAndCall(address,bytes)": FunctionFragment; "version()": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "ALL_PERMISSION" | "ALL_RESOURCE" | "CREATE_PERMISSION" | "DELETE_PERMISSION" | "MASTER_ROLE" | "PERMISSION_MANAGER_RESOURCE" | "RBAC_RESOURCE" | "READ_PERMISSION" | "UPDATE_PERMISSION" | "__PermissionManager_init" | "addMemberToGroup" | "addPermissionsToRole" | "addUserToGroups" | "addVetoGroup" | "addVetoGroups" | "checkPermission" | "confExternalModule" | "deployModuleViaFactory" | "deployPanelViaFactory" | "getDAORegistry" | "getDefaultGroupEnabled" | "getExistingVetoGroupTargets" | "getGroupRoles" | "getResource" | "getRolePermissions" | "getUserGroups" | "getUserRoles" | "getVetoGroupInfo" | "getVetoGroupMembers" | "getVetoMembersCount" | "grantGroupRoles" | "grantRoles" | "hasPermission" | "implementation" | "isUserInVetoGroup" | "isVetoGroupExists" | "linkStorageToVetoGroup" | "multicall" | "proxiableUUID" | "removeMemberFromGroup" | "removePermissionsFromRole" | "removeUserFromGroups" | "removeVetoGroup" | "revokeGroupRoles" | "revokeRoles" | "setDAORegistry" | "supportsInterface" | "toggleDefaultGroup" | "upgradeTo" | "upgradeToAndCall" | "version"): FunctionFragment; encodeFunctionData(functionFragment: "ALL_PERMISSION", values?: undefined): string; encodeFunctionData(functionFragment: "ALL_RESOURCE", values?: undefined): string; encodeFunctionData(functionFragment: "CREATE_PERMISSION", values?: undefined): string; encodeFunctionData(functionFragment: "DELETE_PERMISSION", values?: undefined): string; encodeFunctionData(functionFragment: "MASTER_ROLE", values?: undefined): string; encodeFunctionData(functionFragment: "PERMISSION_MANAGER_RESOURCE", values?: undefined): string; encodeFunctionData(functionFragment: "RBAC_RESOURCE", values?: undefined): string; encodeFunctionData(functionFragment: "READ_PERMISSION", values?: undefined): string; encodeFunctionData(functionFragment: "UPDATE_PERMISSION", values?: undefined): string; encodeFunctionData(functionFragment: "__PermissionManager_init", values: [string, string, string]): string; encodeFunctionData(functionFragment: "addMemberToGroup", values: [string, string[]]): string; encodeFunctionData(functionFragment: "addPermissionsToRole", values: [string, IRBAC.ResourceWithPermissionsStruct[], boolean]): string; encodeFunctionData(functionFragment: "addUserToGroups", values: [string, string[]]): string; encodeFunctionData(functionFragment: "addVetoGroup", values: [string, string]): string; encodeFunctionData(functionFragment: "addVetoGroups", values: [IPermissionManager.VetoGroupStruct[]]): string; encodeFunctionData(functionFragment: "checkPermission", values: [string, string]): string; encodeFunctionData(functionFragment: "confExternalModule", values: [string]): string; encodeFunctionData(functionFragment: "deployModuleViaFactory", values: [DAOModuleContractorParametersStruct]): string; encodeFunctionData(functionFragment: "deployPanelViaFactory", values: [DAOPanelConstructorParametersStruct]): string; encodeFunctionData(functionFragment: "getDAORegistry", values?: undefined): string; encodeFunctionData(functionFragment: "getDefaultGroupEnabled", values?: undefined): string; encodeFunctionData(functionFragment: "getExistingVetoGroupTargets", values?: undefined): string; encodeFunctionData(functionFragment: "getGroupRoles", values: [string]): string; encodeFunctionData(functionFragment: "getResource", values?: undefined): string; encodeFunctionData(functionFragment: "getRolePermissions", values: [string]): string; encodeFunctionData(functionFragment: "getUserGroups", values: [string]): string; encodeFunctionData(functionFragment: "getUserRoles", values: [string]): string; encodeFunctionData(functionFragment: "getVetoGroupInfo", values: [string]): string; encodeFunctionData(functionFragment: "getVetoGroupMembers", values: [string]): string; encodeFunctionData(functionFragment: "getVetoMembersCount", values: [string]): string; encodeFunctionData(functionFragment: "grantGroupRoles", values: [string, string[]]): string; encodeFunctionData(functionFragment: "grantRoles", values: [string, string[]]): string; encodeFunctionData(functionFragment: "hasPermission", values: [string, string, string]): string; encodeFunctionData(functionFragment: "implementation", values?: undefined): string; encodeFunctionData(functionFragment: "isUserInVetoGroup", values: [string, string]): string; encodeFunctionData(functionFragment: "isVetoGroupExists", values: [string]): string; encodeFunctionData(functionFragment: "linkStorageToVetoGroup", values: [string, string]): string; encodeFunctionData(functionFragment: "multicall", values: [BytesLike[]]): string; encodeFunctionData(functionFragment: "proxiableUUID", values?: undefined): string; encodeFunctionData(functionFragment: "removeMemberFromGroup", values: [string, string[]]): string; encodeFunctionData(functionFragment: "removePermissionsFromRole", values: [string, IRBAC.ResourceWithPermissionsStruct[], boolean]): string; encodeFunctionData(functionFragment: "removeUserFromGroups", values: [string, string[]]): string; encodeFunctionData(functionFragment: "removeVetoGroup", values: [string]): string; encodeFunctionData(functionFragment: "revokeGroupRoles", values: [string, string[]]): string; encodeFunctionData(functionFragment: "revokeRoles", values: [string, string[]]): string; encodeFunctionData(functionFragment: "setDAORegistry", values: [string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "toggleDefaultGroup", values?: undefined): string; encodeFunctionData(functionFragment: "upgradeTo", values: [string]): string; encodeFunctionData(functionFragment: "upgradeToAndCall", values: [string, BytesLike]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; decodeFunctionResult(functionFragment: "ALL_PERMISSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "ALL_RESOURCE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "CREATE_PERMISSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "DELETE_PERMISSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "MASTER_ROLE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "PERMISSION_MANAGER_RESOURCE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "RBAC_RESOURCE", data: BytesLike): Result; decodeFunctionResult(functionFragment: "READ_PERMISSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "UPDATE_PERMISSION", data: BytesLike): Result; decodeFunctionResult(functionFragment: "__PermissionManager_init", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addMemberToGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addPermissionsToRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addUserToGroups", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addVetoGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "addVetoGroups", data: BytesLike): Result; decodeFunctionResult(functionFragment: "checkPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "confExternalModule", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deployModuleViaFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "deployPanelViaFactory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDAORegistry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getDefaultGroupEnabled", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getExistingVetoGroupTargets", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getGroupRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getResource", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getRolePermissions", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserGroups", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getUserRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getVetoGroupInfo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getVetoGroupMembers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getVetoMembersCount", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantGroupRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "grantRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "hasPermission", data: BytesLike): Result; decodeFunctionResult(functionFragment: "implementation", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isUserInVetoGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isVetoGroupExists", data: BytesLike): Result; decodeFunctionResult(functionFragment: "linkStorageToVetoGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multicall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "proxiableUUID", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeMemberFromGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removePermissionsFromRole", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeUserFromGroups", data: BytesLike): Result; decodeFunctionResult(functionFragment: "removeVetoGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeGroupRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "revokeRoles", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setDAORegistry", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "toggleDefaultGroup", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeTo", data: BytesLike): Result; decodeFunctionResult(functionFragment: "upgradeToAndCall", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; events: { "AddedPermissions(string,string,string[],bool)": EventFragment; "AddedToGroups(address,string[])": EventFragment; "AdminChanged(address,address)": EventFragment; "BeaconUpgraded(address)": EventFragment; "GrantedGroupRoles(string,string[])": EventFragment; "GrantedRoles(address,string[])": EventFragment; "Initialized(uint8)": EventFragment; "LinkedStorageToVetoGroup(address,address)": EventFragment; "RemovedFromGroups(address,string[])": EventFragment; "RemovedPermissions(string,string,string[],bool)": EventFragment; "RevokedGroupRoles(string,string[])": EventFragment; "RevokedRoles(address,string[])": EventFragment; "ToggledDefaultGroup(bool)": EventFragment; "Upgraded(address)": EventFragment; "VetoGroupAdded(address,address)": EventFragment; "VetoGroupRemoved(address)": EventFragment; }; getEvent(nameOrSignatureOrTopic: "AddedPermissions"): EventFragment; getEvent(nameOrSignatureOrTopic: "AddedToGroups"): EventFragment; getEvent(nameOrSignatureOrTopic: "AdminChanged"): EventFragment; getEvent(nameOrSignatureOrTopic: "BeaconUpgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "GrantedGroupRoles"): EventFragment; getEvent(nameOrSignatureOrTopic: "GrantedRoles"): EventFragment; getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment; getEvent(nameOrSignatureOrTopic: "LinkedStorageToVetoGroup"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemovedFromGroups"): EventFragment; getEvent(nameOrSignatureOrTopic: "RemovedPermissions"): EventFragment; getEvent(nameOrSignatureOrTopic: "RevokedGroupRoles"): EventFragment; getEvent(nameOrSignatureOrTopic: "RevokedRoles"): EventFragment; getEvent(nameOrSignatureOrTopic: "ToggledDefaultGroup"): EventFragment; getEvent(nameOrSignatureOrTopic: "Upgraded"): EventFragment; getEvent(nameOrSignatureOrTopic: "VetoGroupAdded"): EventFragment; getEvent(nameOrSignatureOrTopic: "VetoGroupRemoved"): EventFragment; } export interface AddedPermissionsEventObject { role: string; resource: string; permissionsToAdd: string[]; allowed: boolean; } export type AddedPermissionsEvent = TypedEvent<[ string, string, string[], boolean ], AddedPermissionsEventObject>; export type AddedPermissionsEventFilter = TypedEventFilter<AddedPermissionsEvent>; export interface AddedToGroupsEventObject { who: string; groupsToAddTo: string[]; } export type AddedToGroupsEvent = TypedEvent<[ string, string[] ], AddedToGroupsEventObject>; export type AddedToGroupsEventFilter = TypedEventFilter<AddedToGroupsEvent>; export interface AdminChangedEventObject { previousAdmin: string; newAdmin: string; } export type AdminChangedEvent = TypedEvent<[ string, string ], AdminChangedEventObject>; export type AdminChangedEventFilter = TypedEventFilter<AdminChangedEvent>; export interface BeaconUpgradedEventObject { beacon: string; } export type BeaconUpgradedEvent = TypedEvent<[ string ], BeaconUpgradedEventObject>; export type BeaconUpgradedEventFilter = TypedEventFilter<BeaconUpgradedEvent>; export interface GrantedGroupRolesEventObject { groupTo: string; rolesToGrant: string[]; } export type GrantedGroupRolesEvent = TypedEvent<[ string, string[] ], GrantedGroupRolesEventObject>; export type GrantedGroupRolesEventFilter = TypedEventFilter<GrantedGroupRolesEvent>; export interface GrantedRolesEventObject { to: string; rolesToGrant: string[]; } export type GrantedRolesEvent = TypedEvent<[ string, string[] ], GrantedRolesEventObject>; export type GrantedRolesEventFilter = TypedEventFilter<GrantedRolesEvent>; export interface InitializedEventObject { version: number; } export type InitializedEvent = TypedEvent<[number], InitializedEventObject>; export type InitializedEventFilter = TypedEventFilter<InitializedEvent>; export interface LinkedStorageToVetoGroupEventObject { target: string; linkedMemberStorage: string; } export type LinkedStorageToVetoGroupEvent = TypedEvent<[ string, string ], LinkedStorageToVetoGroupEventObject>; export type LinkedStorageToVetoGroupEventFilter = TypedEventFilter<LinkedStorageToVetoGroupEvent>; export interface RemovedFromGroupsEventObject { who: string; groupsToRemoveFrom: string[]; } export type RemovedFromGroupsEvent = TypedEvent<[ string, string[] ], RemovedFromGroupsEventObject>; export type RemovedFromGroupsEventFilter = TypedEventFilter<RemovedFromGroupsEvent>; export interface RemovedPermissionsEventObject { role: string; resource: string; permissionsToRemove: string[]; allowed: boolean; } export type RemovedPermissionsEvent = TypedEvent<[ string, string, string[], boolean ], RemovedPermissionsEventObject>; export type RemovedPermissionsEventFilter = TypedEventFilter<RemovedPermissionsEvent>; export interface RevokedGroupRolesEventObject { groupFrom: string; rolesToRevoke: string[]; } export type RevokedGroupRolesEvent = TypedEvent<[ string, string[] ], RevokedGroupRolesEventObject>; export type RevokedGroupRolesEventFilter = TypedEventFilter<RevokedGroupRolesEvent>; export interface RevokedRolesEventObject { from: string; rolesToRevoke: string[]; } export type RevokedRolesEvent = TypedEvent<[ string, string[] ], RevokedRolesEventObject>; export type RevokedRolesEventFilter = TypedEventFilter<RevokedRolesEvent>; export interface ToggledDefaultGroupEventObject { defaultGroupEnabled: boolean; } export type ToggledDefaultGroupEvent = TypedEvent<[ boolean ], ToggledDefaultGroupEventObject>; export type ToggledDefaultGroupEventFilter = TypedEventFilter<ToggledDefaultGroupEvent>; export interface UpgradedEventObject { implementation: string; } export type UpgradedEvent = TypedEvent<[string], UpgradedEventObject>; export type UpgradedEventFilter = TypedEventFilter<UpgradedEvent>; export interface VetoGroupAddedEventObject { target: string; linkedMemberStorage: string; } export type VetoGroupAddedEvent = TypedEvent<[ string, string ], VetoGroupAddedEventObject>; export type VetoGroupAddedEventFilter = TypedEventFilter<VetoGroupAddedEvent>; export interface VetoGroupRemovedEventObject { target: string; } export type VetoGroupRemovedEvent = TypedEvent<[ string ], VetoGroupRemovedEventObject>; export type VetoGroupRemovedEventFilter = TypedEventFilter<VetoGroupRemovedEvent>; export interface PermissionManager extends BaseContract { contractName: "PermissionManager"; connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise<this>; interface: PermissionManagerInterface; queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>; listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>; listeners(eventName?: string): Array<Listener>; removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this; removeAllListeners(eventName?: string): this; off: OnEvent<this>; on: OnEvent<this>; once: OnEvent<this>; removeListener: OnEvent<this>; functions: { ALL_PERMISSION(overrides?: CallOverrides): Promise<[string]>; ALL_RESOURCE(overrides?: CallOverrides): Promise<[string]>; CREATE_PERMISSION(overrides?: CallOverrides): Promise<[string]>; DELETE_PERMISSION(overrides?: CallOverrides): Promise<[string]>; MASTER_ROLE(overrides?: CallOverrides): Promise<[string]>; PERMISSION_MANAGER_RESOURCE(overrides?: CallOverrides): Promise<[string]>; RBAC_RESOURCE(overrides?: CallOverrides): Promise<[string]>; READ_PERMISSION(overrides?: CallOverrides): Promise<[string]>; UPDATE_PERMISSION(overrides?: CallOverrides): Promise<[string]>; __PermissionManager_init(daoRegistry_: string, master_: string, resource_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addMemberToGroup(member_: string, groups_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addUserToGroups(who_: string, groupsToAddTo_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addVetoGroups(vetoGroups_: IPermissionManager.VetoGroupStruct[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean]>; confExternalModule(moduleName_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; deployModuleViaFactory(daoModuleParams_: DAOModuleContractorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; deployPanelViaFactory(daoPanelParams_: DAOPanelConstructorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; getDAORegistry(overrides?: CallOverrides): Promise<[string]>; getDefaultGroupEnabled(overrides?: CallOverrides): Promise<[boolean] & { defaultGroupEnabled_: boolean; }>; getExistingVetoGroupTargets(overrides?: CallOverrides): Promise<[string[]]>; getGroupRoles(group_: string, overrides?: CallOverrides): Promise<[string[]] & { roles_: string[]; }>; getResource(overrides?: CallOverrides): Promise<[string]>; getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[ IRBAC.ResourceWithPermissionsStructOutput[], IRBAC.ResourceWithPermissionsStructOutput[] ] & { allowed_: IRBAC.ResourceWithPermissionsStructOutput[]; disallowed_: IRBAC.ResourceWithPermissionsStructOutput[]; }>; getUserGroups(who_: string, overrides?: CallOverrides): Promise<[string[]] & { groups_: string[]; }>; getUserRoles(who_: string, overrides?: CallOverrides): Promise<[string[]] & { roles_: string[]; }>; getVetoGroupInfo(target_: string, overrides?: CallOverrides): Promise<[IPermissionManager.VetoGroupStructOutput]>; getVetoGroupMembers(target_: string, overrides?: CallOverrides): Promise<[string[]]>; getVetoMembersCount(target_: string, overrides?: CallOverrides): Promise<[BigNumber]>; grantGroupRoles(groupTo_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<[boolean] & { isAllowed_: boolean; }>; implementation(overrides?: CallOverrides): Promise<[string]>; isUserInVetoGroup(target_: string, member_: string, overrides?: CallOverrides): Promise<[boolean]>; isVetoGroupExists(target_: string, overrides?: CallOverrides): Promise<[boolean]>; linkStorageToVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; proxiableUUID(overrides?: CallOverrides): Promise<[string]>; removeMemberFromGroup(member_: string, groups_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removeUserFromGroups(who_: string, groupsToRemoveFrom_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removeVetoGroup(target_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; revokeGroupRoles(groupFrom_: string, rolesToRevoke_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setDAORegistry(daoRegistry_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; toggleDefaultGroup(overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise<ContractTransaction>; version(overrides?: CallOverrides): Promise<[string]>; }; ALL_PERMISSION(overrides?: CallOverrides): Promise<string>; ALL_RESOURCE(overrides?: CallOverrides): Promise<string>; CREATE_PERMISSION(overrides?: CallOverrides): Promise<string>; DELETE_PERMISSION(overrides?: CallOverrides): Promise<string>; MASTER_ROLE(overrides?: CallOverrides): Promise<string>; PERMISSION_MANAGER_RESOURCE(overrides?: CallOverrides): Promise<string>; RBAC_RESOURCE(overrides?: CallOverrides): Promise<string>; READ_PERMISSION(overrides?: CallOverrides): Promise<string>; UPDATE_PERMISSION(overrides?: CallOverrides): Promise<string>; __PermissionManager_init(daoRegistry_: string, master_: string, resource_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addMemberToGroup(member_: string, groups_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addUserToGroups(who_: string, groupsToAddTo_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; addVetoGroups(vetoGroups_: IPermissionManager.VetoGroupStruct[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>; confExternalModule(moduleName_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; deployModuleViaFactory(daoModuleParams_: DAOModuleContractorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; deployPanelViaFactory(daoPanelParams_: DAOPanelConstructorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; getDAORegistry(overrides?: CallOverrides): Promise<string>; getDefaultGroupEnabled(overrides?: CallOverrides): Promise<boolean>; getExistingVetoGroupTargets(overrides?: CallOverrides): Promise<string[]>; getGroupRoles(group_: string, overrides?: CallOverrides): Promise<string[]>; getResource(overrides?: CallOverrides): Promise<string>; getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[ IRBAC.ResourceWithPermissionsStructOutput[], IRBAC.ResourceWithPermissionsStructOutput[] ] & { allowed_: IRBAC.ResourceWithPermissionsStructOutput[]; disallowed_: IRBAC.ResourceWithPermissionsStructOutput[]; }>; getUserGroups(who_: string, overrides?: CallOverrides): Promise<string[]>; getUserRoles(who_: string, overrides?: CallOverrides): Promise<string[]>; getVetoGroupInfo(target_: string, overrides?: CallOverrides): Promise<IPermissionManager.VetoGroupStructOutput>; getVetoGroupMembers(target_: string, overrides?: CallOverrides): Promise<string[]>; getVetoMembersCount(target_: string, overrides?: CallOverrides): Promise<BigNumber>; grantGroupRoles(groupTo_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>; implementation(overrides?: CallOverrides): Promise<string>; isUserInVetoGroup(target_: string, member_: string, overrides?: CallOverrides): Promise<boolean>; isVetoGroupExists(target_: string, overrides?: CallOverrides): Promise<boolean>; linkStorageToVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; multicall(data: BytesLike[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; proxiableUUID(overrides?: CallOverrides): Promise<string>; removeMemberFromGroup(member_: string, groups_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removeUserFromGroups(who_: string, groupsToRemoveFrom_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; removeVetoGroup(target_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; revokeGroupRoles(groupFrom_: string, rolesToRevoke_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; setDAORegistry(daoRegistry_: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>; toggleDefaultGroup(overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; upgradeTo(newImplementation: string, overrides?: Overrides & { from?: string; }): Promise<ContractTransaction>; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: PayableOverrides & { from?: string; }): Promise<ContractTransaction>; version(overrides?: CallOverrides): Promise<string>; callStatic: { ALL_PERMISSION(overrides?: CallOverrides): Promise<string>; ALL_RESOURCE(overrides?: CallOverrides): Promise<string>; CREATE_PERMISSION(overrides?: CallOverrides): Promise<string>; DELETE_PERMISSION(overrides?: CallOverrides): Promise<string>; MASTER_ROLE(overrides?: CallOverrides): Promise<string>; PERMISSION_MANAGER_RESOURCE(overrides?: CallOverrides): Promise<string>; RBAC_RESOURCE(overrides?: CallOverrides): Promise<string>; READ_PERMISSION(overrides?: CallOverrides): Promise<string>; UPDATE_PERMISSION(overrides?: CallOverrides): Promise<string>; __PermissionManager_init(daoRegistry_: string, master_: string, resource_: string, overrides?: CallOverrides): Promise<void>; addMemberToGroup(member_: string, groups_: string[], overrides?: CallOverrides): Promise<void>; addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: CallOverrides): Promise<void>; addUserToGroups(who_: string, groupsToAddTo_: string[], overrides?: CallOverrides): Promise<void>; addVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: CallOverrides): Promise<void>; addVetoGroups(vetoGroups_: IPermissionManager.VetoGroupStruct[], overrides?: CallOverrides): Promise<void>; checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>; confExternalModule(moduleName_: string, overrides?: CallOverrides): Promise<void>; deployModuleViaFactory(daoModuleParams_: DAOModuleContractorParametersStruct, overrides?: CallOverrides): Promise<void>; deployPanelViaFactory(daoPanelParams_: DAOPanelConstructorParametersStruct, overrides?: CallOverrides): Promise<void>; getDAORegistry(overrides?: CallOverrides): Promise<string>; getDefaultGroupEnabled(overrides?: CallOverrides): Promise<boolean>; getExistingVetoGroupTargets(overrides?: CallOverrides): Promise<string[]>; getGroupRoles(group_: string, overrides?: CallOverrides): Promise<string[]>; getResource(overrides?: CallOverrides): Promise<string>; getRolePermissions(role_: string, overrides?: CallOverrides): Promise<[ IRBAC.ResourceWithPermissionsStructOutput[], IRBAC.ResourceWithPermissionsStructOutput[] ] & { allowed_: IRBAC.ResourceWithPermissionsStructOutput[]; disallowed_: IRBAC.ResourceWithPermissionsStructOutput[]; }>; getUserGroups(who_: string, overrides?: CallOverrides): Promise<string[]>; getUserRoles(who_: string, overrides?: CallOverrides): Promise<string[]>; getVetoGroupInfo(target_: string, overrides?: CallOverrides): Promise<IPermissionManager.VetoGroupStructOutput>; getVetoGroupMembers(target_: string, overrides?: CallOverrides): Promise<string[]>; getVetoMembersCount(target_: string, overrides?: CallOverrides): Promise<BigNumber>; grantGroupRoles(groupTo_: string, rolesToGrant_: string[], overrides?: CallOverrides): Promise<void>; grantRoles(to_: string, rolesToGrant_: string[], overrides?: CallOverrides): Promise<void>; hasPermission(who_: string, resource_: string, permission_: string, overrides?: CallOverrides): Promise<boolean>; implementation(overrides?: CallOverrides): Promise<string>; isUserInVetoGroup(target_: string, member_: string, overrides?: CallOverrides): Promise<boolean>; isVetoGroupExists(target_: string, overrides?: CallOverrides): Promise<boolean>; linkStorageToVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: CallOverrides): Promise<void>; multicall(data: BytesLike[], overrides?: CallOverrides): Promise<string[]>; proxiableUUID(overrides?: CallOverrides): Promise<string>; removeMemberFromGroup(member_: string, groups_: string[], overrides?: CallOverrides): Promise<void>; removePermissionsFromRole(role_: string, permissionsToRemove_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: CallOverrides): Promise<void>; removeUserFromGroups(who_: string, groupsToRemoveFrom_: string[], overrides?: CallOverrides): Promise<void>; removeVetoGroup(target_: string, overrides?: CallOverrides): Promise<void>; revokeGroupRoles(groupFrom_: string, rolesToRevoke_: string[], overrides?: CallOverrides): Promise<void>; revokeRoles(from_: string, rolesToRevoke_: string[], overrides?: CallOverrides): Promise<void>; setDAORegistry(daoRegistry_: string, overrides?: CallOverrides): Promise<void>; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<boolean>; toggleDefaultGroup(overrides?: CallOverrides): Promise<void>; upgradeTo(newImplementation: string, overrides?: CallOverrides): Promise<void>; upgradeToAndCall(newImplementation: string, data: BytesLike, overrides?: CallOverrides): Promise<void>; version(overrides?: CallOverrides): Promise<string>; }; filters: { "AddedPermissions(string,string,string[],bool)"(role?: null, resource?: null, permissionsToAdd?: null, allowed?: null): AddedPermissionsEventFilter; AddedPermissions(role?: null, resource?: null, permissionsToAdd?: null, allowed?: null): AddedPermissionsEventFilter; "AddedToGroups(address,string[])"(who?: null, groupsToAddTo?: null): AddedToGroupsEventFilter; AddedToGroups(who?: null, groupsToAddTo?: null): AddedToGroupsEventFilter; "AdminChanged(address,address)"(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; AdminChanged(previousAdmin?: null, newAdmin?: null): AdminChangedEventFilter; "BeaconUpgraded(address)"(beacon?: string | null): BeaconUpgradedEventFilter; BeaconUpgraded(beacon?: string | null): BeaconUpgradedEventFilter; "GrantedGroupRoles(string,string[])"(groupTo?: null, rolesToGrant?: null): GrantedGroupRolesEventFilter; GrantedGroupRoles(groupTo?: null, rolesToGrant?: null): GrantedGroupRolesEventFilter; "GrantedRoles(address,string[])"(to?: null, rolesToGrant?: null): GrantedRolesEventFilter; GrantedRoles(to?: null, rolesToGrant?: null): GrantedRolesEventFilter; "Initialized(uint8)"(version?: null): InitializedEventFilter; Initialized(version?: null): InitializedEventFilter; "LinkedStorageToVetoGroup(address,address)"(target?: null, linkedMemberStorage?: null): LinkedStorageToVetoGroupEventFilter; LinkedStorageToVetoGroup(target?: null, linkedMemberStorage?: null): LinkedStorageToVetoGroupEventFilter; "RemovedFromGroups(address,string[])"(who?: null, groupsToRemoveFrom?: null): RemovedFromGroupsEventFilter; RemovedFromGroups(who?: null, groupsToRemoveFrom?: null): RemovedFromGroupsEventFilter; "RemovedPermissions(string,string,string[],bool)"(role?: null, resource?: null, permissionsToRemove?: null, allowed?: null): RemovedPermissionsEventFilter; RemovedPermissions(role?: null, resource?: null, permissionsToRemove?: null, allowed?: null): RemovedPermissionsEventFilter; "RevokedGroupRoles(string,string[])"(groupFrom?: null, rolesToRevoke?: null): RevokedGroupRolesEventFilter; RevokedGroupRoles(groupFrom?: null, rolesToRevoke?: null): RevokedGroupRolesEventFilter; "RevokedRoles(address,string[])"(from?: null, rolesToRevoke?: null): RevokedRolesEventFilter; RevokedRoles(from?: null, rolesToRevoke?: null): RevokedRolesEventFilter; "ToggledDefaultGroup(bool)"(defaultGroupEnabled?: null): ToggledDefaultGroupEventFilter; ToggledDefaultGroup(defaultGroupEnabled?: null): ToggledDefaultGroupEventFilter; "Upgraded(address)"(implementation?: string | null): UpgradedEventFilter; Upgraded(implementation?: string | null): UpgradedEventFilter; "VetoGroupAdded(address,address)"(target?: null, linkedMemberStorage?: null): VetoGroupAddedEventFilter; VetoGroupAdded(target?: null, linkedMemberStorage?: null): VetoGroupAddedEventFilter; "VetoGroupRemoved(address)"(target?: null): VetoGroupRemovedEventFilter; VetoGroupRemoved(target?: null): VetoGroupRemovedEventFilter; }; estimateGas: { ALL_PERMISSION(overrides?: CallOverrides): Promise<BigNumber>; ALL_RESOURCE(overrides?: CallOverrides): Promise<BigNumber>; CREATE_PERMISSION(overrides?: CallOverrides): Promise<BigNumber>; DELETE_PERMISSION(overrides?: CallOverrides): Promise<BigNumber>; MASTER_ROLE(overrides?: CallOverrides): Promise<BigNumber>; PERMISSION_MANAGER_RESOURCE(overrides?: CallOverrides): Promise<BigNumber>; RBAC_RESOURCE(overrides?: CallOverrides): Promise<BigNumber>; READ_PERMISSION(overrides?: CallOverrides): Promise<BigNumber>; UPDATE_PERMISSION(overrides?: CallOverrides): Promise<BigNumber>; __PermissionManager_init(daoRegistry_: string, master_: string, resource_: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; addMemberToGroup(member_: string, groups_: string[], overrides?: Overrides & { from?: string; }): Promise<BigNumber>; addPermissionsToRole(role_: string, permissionsToAdd_: IRBAC.ResourceWithPermissionsStruct[], allowed_: boolean, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; addUserToGroups(who_: string, groupsToAddTo_: string[], overrides?: Overrides & { from?: string; }): Promise<BigNumber>; addVetoGroup(target_: string, linkedMemberStorage_: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; addVetoGroups(vetoGroups_: IPermissionManager.VetoGroupStruct[], overrides?: Overrides & { from?: string; }): Promise<BigNumber>; checkPermission(account_: string, permission_: string, overrides?: CallOverrides): Promise<BigNumber>; confExternalModule(moduleName_: string, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; deployModuleViaFactory(daoModuleParams_: DAOModuleContractorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; deployPanelViaFactory(daoPanelParams_: DAOPanelConstructorParametersStruct, overrides?: Overrides & { from?: string; }): Promise<BigNumber>; getDAORegistry(overrides?: CallOverrides): Promise<BigNumber>; getDefaultGroupEnabled(overrides?: CallOverrides): Promise<BigNumber>; getExistingVetoGroupTargets(overrides?: CallOverrides): Promise<BigNumber>; getGroupRoles(group_: string, overrides?: CallOverrides): Promise<BigNumber>; getResource(overrides?: CallOverrides): Promise<BigNumber>; getRolePermissions(role_: string, overrides?: CallOverrides): Promise<BigNumber>; getUserGroups(who_: string, overrides?: CallOverrides): Promise<BigNumber>; getUserRoles(who_: string, overrides?: CallOverrides): Promise<BigNumber>; getVetoGroupInfo(target_: string, overrides?: CallOverrides): Promise<BigNumber>; getVetoGroupMembers(target_: string, overrides?: CallOverrides): Promise<BigNumber>; getVetoMembersCount(target_: string, overrides?: CallOverrides): Promise<BigNumber>; grantGroupRoles(groupTo_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<BigNumber>; grantRoles(to_: string, rolesToGrant_: string[], overrides?: Overrides & { from?: string; }): Promise<BigNumber>;