Expand description
Generated by the following Solidity interface…
interface PermissionController {
error AdminAlreadyPending();
error AdminAlreadySet();
error AdminNotPending();
error AdminNotSet();
error AppointeeAlreadySet();
error AppointeeNotSet();
error CannotHaveZeroAdmins();
error InvalidShortString();
error NotAdmin();
error StringTooLong(string str);
event AdminRemoved(address indexed account, address admin);
event AdminSet(address indexed account, address admin);
event AppointeeRemoved(address indexed account, address indexed appointee, address target, bytes4 selector);
event AppointeeSet(address indexed account, address indexed appointee, address target, bytes4 selector);
event Initialized(uint8 version);
event PendingAdminAdded(address indexed account, address admin);
event PendingAdminRemoved(address indexed account, address admin);
constructor(string _version);
function acceptAdmin(address account) external;
function addPendingAdmin(address account, address admin) external;
function canCall(address account, address caller, address target, bytes4 selector) external view returns (bool);
function getAdmins(address account) external view returns (address[] memory);
function getAppointeePermissions(address account, address appointee) external view returns (address[] memory, bytes4[] memory);
function getAppointees(address account, address target, bytes4 selector) external view returns (address[] memory);
function getPendingAdmins(address account) external view returns (address[] memory);
function isAdmin(address account, address caller) external view returns (bool);
function isPendingAdmin(address account, address pendingAdmin) external view returns (bool);
function removeAdmin(address account, address admin) external;
function removeAppointee(address account, address appointee, address target, bytes4 selector) external;
function removePendingAdmin(address account, address admin) external;
function setAppointee(address account, address appointee, address target, bytes4 selector) external;
function version() external view returns (string memory);
}…which was generated by the following JSON ABI:
[
{
"type": "constructor",
"inputs": [
{
"name": "_version",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "acceptAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "addPendingAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "canCall",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "caller",
"type": "address",
"internalType": "address"
},
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAdmins",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAppointeePermissions",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "appointee",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
},
{
"name": "",
"type": "bytes4[]",
"internalType": "bytes4[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getAppointees",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "getPendingAdmins",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "address[]",
"internalType": "address[]"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "caller",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "isPendingAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "pendingAdmin",
"type": "address",
"internalType": "address"
}
],
"outputs": [
{
"name": "",
"type": "bool",
"internalType": "bool"
}
],
"stateMutability": "view"
},
{
"type": "function",
"name": "removeAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "removeAppointee",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "appointee",
"type": "address",
"internalType": "address"
},
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "removePendingAdmin",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"internalType": "address"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "setAppointee",
"inputs": [
{
"name": "account",
"type": "address",
"internalType": "address"
},
{
"name": "appointee",
"type": "address",
"internalType": "address"
},
{
"name": "target",
"type": "address",
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"internalType": "bytes4"
}
],
"outputs": [],
"stateMutability": "nonpayable"
},
{
"type": "function",
"name": "version",
"inputs": [],
"outputs": [
{
"name": "",
"type": "string",
"internalType": "string"
}
],
"stateMutability": "view"
},
{
"type": "event",
"name": "AdminRemoved",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "AdminSet",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "AppointeeRemoved",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "appointee",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "target",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"indexed": false,
"internalType": "bytes4"
}
],
"anonymous": false
},
{
"type": "event",
"name": "AppointeeSet",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "appointee",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "target",
"type": "address",
"indexed": false,
"internalType": "address"
},
{
"name": "selector",
"type": "bytes4",
"indexed": false,
"internalType": "bytes4"
}
],
"anonymous": false
},
{
"type": "event",
"name": "Initialized",
"inputs": [
{
"name": "version",
"type": "uint8",
"indexed": false,
"internalType": "uint8"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PendingAdminAdded",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "event",
"name": "PendingAdminRemoved",
"inputs": [
{
"name": "account",
"type": "address",
"indexed": true,
"internalType": "address"
},
{
"name": "admin",
"type": "address",
"indexed": false,
"internalType": "address"
}
],
"anonymous": false
},
{
"type": "error",
"name": "AdminAlreadyPending",
"inputs": []
},
{
"type": "error",
"name": "AdminAlreadySet",
"inputs": []
},
{
"type": "error",
"name": "AdminNotPending",
"inputs": []
},
{
"type": "error",
"name": "AdminNotSet",
"inputs": []
},
{
"type": "error",
"name": "AppointeeAlreadySet",
"inputs": []
},
{
"type": "error",
"name": "AppointeeNotSet",
"inputs": []
},
{
"type": "error",
"name": "CannotHaveZeroAdmins",
"inputs": []
},
{
"type": "error",
"name": "InvalidShortString",
"inputs": []
},
{
"type": "error",
"name": "NotAdmin",
"inputs": []
},
{
"type": "error",
"name": "StringTooLong",
"inputs": [
{
"name": "str",
"type": "string",
"internalType": "string"
}
]
}
]Structs§
- Admin
Already Pending - Custom error with signature
AdminAlreadyPending()and selector0x3357dbc6. - Admin
Already Set - Custom error with signature
AdminAlreadySet()and selector0x980b0728. - Admin
NotPending - Custom error with signature
AdminNotPending()and selector0xbed8295f. - Admin
NotSet - Custom error with signature
AdminNotSet()and selector0xe2db0360. - Admin
Removed - Event with signature
AdminRemoved(address,address)and selector0xdb9d5d31320daf5bc7181d565b6da4d12e30f0f4d5aa324a992426c14a1d19ce. - Admin
Set - Event with signature
AdminSet(address,address)and selector0xbf265e8326285a2747e33e54d5945f7111f2b5edb826eb8c08d4677779b3ff97. - Appointee
Already Set - Custom error with signature
AppointeeAlreadySet()and selector0xad8efeb7. - Appointee
NotSet - Custom error with signature
AppointeeNotSet()and selector0x262118cd. - Appointee
Removed - Event with signature
AppointeeRemoved(address,address,address,bytes4)and selector0x18242326b6b862126970679759169f01f646bd55ec5bfcab85ba9f337a74e0c6. - Appointee
Set - Event with signature
AppointeeSet(address,address,address,bytes4)and selector0x037f03a2ad6b967df4a01779b6d2b4c85950df83925d9e31362b519422fc0169. - Cannot
Have Zero Admins - Custom error with signature
CannotHaveZeroAdmins()and selector0x86744958. - Initialized
- Event with signature
Initialized(uint8)and selector0x7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb3847402498. - Invalid
Short String - Custom error with signature
InvalidShortString()and selector0xb3512b0c. - NotAdmin
- Custom error with signature
NotAdmin()and selector0x7bfa4b9f. - Pending
Admin Added - Event with signature
PendingAdminAdded(address,address)and selector0xb14b9a3d448c5b04f0e5b087b6f5193390db7955482a6ffb841e7b3ba61a460c. - Pending
Admin Removed - Event with signature
PendingAdminRemoved(address,address)and selector0xd706ed7ae044d795b49e54c9f519f663053951011985f663a862cd9ee72a9ac7. - Permission
Controller Instance - A
PermissionControllerinstance. - String
TooLong - Custom error with signature
StringTooLong(string)and selector0x305a27a9. - accept
Admin Call - Function with signature
acceptAdmin(address)and selector0x628806ef. - accept
Admin Return - Container type for the return parameters of the
acceptAdmin(address)function. - addPending
Admin Call - Function with signature
addPendingAdmin(address,address)and selector0xeb5a4e87. - addPending
Admin Return - Container type for the return parameters of the
addPendingAdmin(address,address)function. - canCall
Call - Function with signature
canCall(address,address,address,bytes4)and selector0xdf595cb8. - canCall
Return - Container type for the return parameters of the
canCall(address,address,address,bytes4)function. - constructor
Call - Constructor`.
- getAdmins
Call - Function with signature
getAdmins(address)and selector0xad5f2210. - getAdmins
Return - Container type for the return parameters of the
getAdmins(address)function. - getAppointee
Permissions Call - Function with signature
getAppointeePermissions(address,address)and selector0x882a3b38. - getAppointee
Permissions Return - Container type for the return parameters of the
getAppointeePermissions(address,address)function. - getAppointees
Call - Function with signature
getAppointees(address,address,bytes4)and selector0xfddbdefd. - getAppointees
Return - Container type for the return parameters of the
getAppointees(address,address,bytes4)function. - getPending
Admins Call - Function with signature
getPendingAdmins(address)and selector0x6bddfa1f. - getPending
Admins Return - Container type for the return parameters of the
getPendingAdmins(address)function. - isAdmin
Call - Function with signature
isAdmin(address,address)and selector0x91006745. - isAdmin
Return - Container type for the return parameters of the
isAdmin(address,address)function. - isPending
Admin Call - Function with signature
isPendingAdmin(address,address)and selector0xad8aca77. - isPending
Admin Return - Container type for the return parameters of the
isPendingAdmin(address,address)function. - remove
Admin Call - Function with signature
removeAdmin(address,address)and selector0x268959e5. - remove
Admin Return - Container type for the return parameters of the
removeAdmin(address,address)function. - remove
Appointee Call - Function with signature
removeAppointee(address,address,address,bytes4)and selector0x06641201. - remove
Appointee Return - Container type for the return parameters of the
removeAppointee(address,address,address,bytes4)function. - remove
Pending Admin Call - Function with signature
removePendingAdmin(address,address)and selector0x4f906cf9. - remove
Pending Admin Return - Container type for the return parameters of the
removePendingAdmin(address,address)function. - setAppointee
Call - Function with signature
setAppointee(address,address,address,bytes4)and selector0x950d806e. - setAppointee
Return - Container type for the return parameters of the
setAppointee(address,address,address,bytes4)function. - version
Call - Function with signature
version()and selector0x54fd4d50. - version
Return - Container type for the return parameters of the
version()function.
Enums§
- Permission
Controller Calls - Container for all the
PermissionControllerfunction calls. - Permission
Controller Errors - Container for all the
PermissionControllercustom errors. - Permission
Controller Events - Container for all the
PermissionControllerevents.
Statics§
- BYTECODE
- The creation / init bytecode of the contract.
- DEPLOYED_
BYTECODE - The runtime bytecode of the contract, as deployed on the network.
Functions§
- deploy
- Deploys this contract using the given
providerand constructor arguments, if any. - deploy_
builder - Creates a
RawCallBuilderfor deploying this contract using the givenproviderand constructor arguments, if any. - new
- Creates a new wrapper around an on-chain
PermissionControllercontract instance.