@q-dev/gdk-sdk
Version:
Typescript Library to interact with GDK Contracts
882 lines (881 loc) • 19.4 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IPermissionManager",
"sourceName": "contracts/interfaces/IPermissionManager.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "role",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"indexed": false,
"internalType": "string[]",
"name": "permissionsToAdd",
"type": "string[]"
},
{
"indexed": false,
"internalType": "bool",
"name": "allowed",
"type": "bool"
}
],
"name": "AddedPermissions",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "who",
"type": "address"
},
{
"indexed": false,
"internalType": "string[]",
"name": "groupsToAddTo",
"type": "string[]"
}
],
"name": "AddedToGroups",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "groupTo",
"type": "string"
},
{
"indexed": false,
"internalType": "string[]",
"name": "rolesToGrant",
"type": "string[]"
}
],
"name": "GrantedGroupRoles",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "to",
"type": "address"
},
{
"indexed": false,
"internalType": "string[]",
"name": "rolesToGrant",
"type": "string[]"
}
],
"name": "GrantedRoles",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "target",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "linkedMemberStorage",
"type": "address"
}
],
"name": "LinkedStorageToVetoGroup",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "who",
"type": "address"
},
{
"indexed": false,
"internalType": "string[]",
"name": "groupsToRemoveFrom",
"type": "string[]"
}
],
"name": "RemovedFromGroups",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "role",
"type": "string"
},
{
"indexed": false,
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"indexed": false,
"internalType": "string[]",
"name": "permissionsToRemove",
"type": "string[]"
},
{
"indexed": false,
"internalType": "bool",
"name": "allowed",
"type": "bool"
}
],
"name": "RemovedPermissions",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "string",
"name": "groupFrom",
"type": "string"
},
{
"indexed": false,
"internalType": "string[]",
"name": "rolesToRevoke",
"type": "string[]"
}
],
"name": "RevokedGroupRoles",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
},
{
"indexed": false,
"internalType": "string[]",
"name": "rolesToRevoke",
"type": "string[]"
}
],
"name": "RevokedRoles",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "bool",
"name": "defaultGroupEnabled",
"type": "bool"
}
],
"name": "ToggledDefaultGroup",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "target",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "linkedMemberStorage",
"type": "address"
}
],
"name": "VetoGroupAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "address",
"name": "target",
"type": "address"
}
],
"name": "VetoGroupRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "address",
"name": "member_",
"type": "address"
},
{
"internalType": "string[]",
"name": "groups_",
"type": "string[]"
}
],
"name": "addMemberToGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "role_",
"type": "string"
},
{
"components": [
{
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"internalType": "string[]",
"name": "permissions",
"type": "string[]"
}
],
"internalType": "struct IRBAC.ResourceWithPermissions[]",
"name": "permissionsToAdd_",
"type": "tuple[]"
},
{
"internalType": "bool",
"name": "allowed_",
"type": "bool"
}
],
"name": "addPermissionsToRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who_",
"type": "address"
},
{
"internalType": "string[]",
"name": "groupsToAddTo_",
"type": "string[]"
}
],
"name": "addUserToGroups",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
},
{
"internalType": "contract DAOMemberStorage",
"name": "linkedMemberStorage_",
"type": "address"
}
],
"name": "addVetoGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "contract DAOMemberStorage",
"name": "linkedMemberStorage",
"type": "address"
}
],
"internalType": "struct IPermissionManager.VetoGroup[]",
"name": "vetoGroups_",
"type": "tuple[]"
}
],
"name": "addVetoGroups",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "member_",
"type": "address"
},
{
"internalType": "string",
"name": "permission_",
"type": "string"
}
],
"name": "checkPermission",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "moduleName_",
"type": "string"
}
],
"name": "confExternalModule",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getDAORegistry",
"outputs": [
{
"internalType": "contract DAORegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getDefaultGroupEnabled",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getExistingVetoGroupTargets",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "group_",
"type": "string"
}
],
"name": "getGroupRoles",
"outputs": [
{
"internalType": "string[]",
"name": "roles_",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getResource",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "role_",
"type": "string"
}
],
"name": "getRolePermissions",
"outputs": [
{
"components": [
{
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"internalType": "string[]",
"name": "permissions",
"type": "string[]"
}
],
"internalType": "struct IRBAC.ResourceWithPermissions[]",
"name": "allowed_",
"type": "tuple[]"
},
{
"components": [
{
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"internalType": "string[]",
"name": "permissions",
"type": "string[]"
}
],
"internalType": "struct IRBAC.ResourceWithPermissions[]",
"name": "disallowed_",
"type": "tuple[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who_",
"type": "address"
}
],
"name": "getUserGroups",
"outputs": [
{
"internalType": "string[]",
"name": "groups_",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who_",
"type": "address"
}
],
"name": "getUserRoles",
"outputs": [
{
"internalType": "string[]",
"name": "roles_",
"type": "string[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
}
],
"name": "getVetoGroupInfo",
"outputs": [
{
"components": [
{
"internalType": "address",
"name": "target",
"type": "address"
},
{
"internalType": "contract DAOMemberStorage",
"name": "linkedMemberStorage",
"type": "address"
}
],
"internalType": "struct IPermissionManager.VetoGroup",
"name": "",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
}
],
"name": "getVetoGroupMembers",
"outputs": [
{
"internalType": "address[]",
"name": "",
"type": "address[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
}
],
"name": "getVetoMembersCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "groupTo_",
"type": "string"
},
{
"internalType": "string[]",
"name": "rolesToGrant_",
"type": "string[]"
}
],
"name": "grantGroupRoles",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "to_",
"type": "address"
},
{
"internalType": "string[]",
"name": "rolesToGrant_",
"type": "string[]"
}
],
"name": "grantRoles",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who_",
"type": "address"
},
{
"internalType": "string",
"name": "resource_",
"type": "string"
},
{
"internalType": "string",
"name": "permission_",
"type": "string"
}
],
"name": "hasPermission",
"outputs": [
{
"internalType": "bool",
"name": "isAllowed_",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
},
{
"internalType": "address",
"name": "member_",
"type": "address"
}
],
"name": "isUserInVetoGroup",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
}
],
"name": "isVetoGroupExists",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
},
{
"internalType": "contract DAOMemberStorage",
"name": "linkedMemberStorage_",
"type": "address"
}
],
"name": "linkStorageToVetoGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "member_",
"type": "address"
},
{
"internalType": "string[]",
"name": "groups_",
"type": "string[]"
}
],
"name": "removeMemberFromGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "role_",
"type": "string"
},
{
"components": [
{
"internalType": "string",
"name": "resource",
"type": "string"
},
{
"internalType": "string[]",
"name": "permissions",
"type": "string[]"
}
],
"internalType": "struct IRBAC.ResourceWithPermissions[]",
"name": "permissionsToRemove_",
"type": "tuple[]"
},
{
"internalType": "bool",
"name": "allowed_",
"type": "bool"
}
],
"name": "removePermissionsFromRole",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "who_",
"type": "address"
},
{
"internalType": "string[]",
"name": "groupsToRemoveFrom_",
"type": "string[]"
}
],
"name": "removeUserFromGroups",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "target_",
"type": "address"
}
],
"name": "removeVetoGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "string",
"name": "groupFrom_",
"type": "string"
},
{
"internalType": "string[]",
"name": "rolesToRevoke_",
"type": "string[]"
}
],
"name": "revokeGroupRoles",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "from_",
"type": "address"
},
{
"internalType": "string[]",
"name": "rolesToRevoke_",
"type": "string[]"
}
],
"name": "revokeRoles",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "toggleDefaultGroup",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}