{
    "appName": "acl.aragonpm.eth",
    "roles": [
        {
            "name": "Create permissions",
            "id": "CREATE_PERMISSIONS_ROLE",
            "bytes": "0x0b719b33c83b8e5d300c521cb8b54ae9bd933996a14bef8c2f4e0285d2d2400a"
        }
    ],
    "functions": [
        {
            "sig": "initialize(address)",
            "roles": [],
            "notice": "Initializes an ACL instance and sets `_permissionsCreator` as the entity that can create other permissions"
        },
        {
            "sig": "createPermission(address,address,bytes32,address)",
            "roles": ["CREATE_PERMISSIONS_ROLE"],
            "notice": "Create a new permission granting `_entity` the ability to perform actions of role `_role` on `_app` (setting `_manager` as the permission manager)"
        },
        {
            "sig": "grantPermission(address,address,bytes32)",
            "roles": [],
            "notice": "Grants `_entity` the ability to perform actions of role `_role` on `_app`"
        },
        {
            "sig": "grantPermissionP(address,address,bytes32,uint256[])",
            "roles": [],
            "notice": "Grants `_entity` the ability to perform actions of role `_role` on `_app`"
        },
        {
            "sig": "revokePermission(address,address,bytes32)",
            "roles": [],
            "notice": "Revokes `_entity` the ability to perform actions of role `_role` on `_app`"
        },
        {
            "sig": "setPermissionManager(address,address,bytes32)",
            "roles": [],
            "notice": "Sets `_newManager` as the manager of the permission `_role` in `_app`"
        },
        {
            "sig": "removePermissionManager(address,bytes32)",
            "roles": [],
            "notice": "Removes the manager of the permission `_role` in `_app`"
        },
        {
            "sig": "getPermissionParam(address,address,address)",
            "roles": [],
            "notice": "Get parameter for permission"
        },
        {
            "sig": "_evalLogic(address,bytes32,address,address,bytes32,uint256[])",
            "roles": [],
            "notice": null
        },
        {
            "sig": "transferToVault(address)",
            "roles": [],
            "notice": "Send funds to recovery Vault. This contract should never receive funds, but in case it does, this function allows one to recover them."
        }
    ]
}
