Skip to main content

InterfaceManager.sol

Methods​

DEFAULT_ADMIN_ROLE()​

Solidity

function DEFAULT_ADMIN_ROLE() external view returns (bytes32)

Returns​

NameTypeDescription
_0bytes32undefined

beaconAddresses(string)​

Solidity

function beaconAddresses(string) external view returns (address)

Parameters​

NameTypeDescription
_0stringundefined

Returns​

NameTypeDescription
_0addressundefined

beaconTypes(address)​

Solidity

function beaconTypes(address) external view returns (string)

Parameters​

NameTypeDescription
_0addressundefined

Returns​

NameTypeDescription
_0stringundefined

deployAndRegisterBeacon(address,string,string)​

Solidity

function deployAndRegisterBeacon(address _address, string _name, string _ipfsConfigForBeacon) external nonpayable returns (address)
Details

Deploy new beacon for a new vault type AND register it

Parameters​

NameTypeDescription
_addressaddressThe address of the implementation for the beacon
_namestringThe name of the beacon (identifier)
_ipfsConfigForBeaconstringIPFS hash for the config of this beacon note that the contract registered as a beacon should not be used as a vault, to avoid confusion.

Returns​

NameTypeDescription
_0addressundefined

deregisterBeacon(string)​

Solidity

function deregisterBeacon(string _name) external nonpayable
Details

Removes a beacon associated with a vault typeThis will stop the creation of more vaults of the type provided

Parameters​

NameTypeDescription
_namestringThe name of the beacon (identifier)

doISupportInterface(bytes4)​

Solidity

function doISupportInterface(bytes4 interfaceId) external view returns (bool)
Details

check whether msg.sender supports a given interface id. Used to support ERC165 from a central location.

Parameters​

NameTypeDescription
interfaceIdbytes4the interface id to check

Returns​

NameTypeDescription
_0boolundefined

getRoleAdmin(bytes32)​

Solidity

function getRoleAdmin(bytes32 role) external view returns (bytes32)
Details

Returns the admin role that controls role. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.

Parameters​

NameTypeDescription
rolebytes32undefined

Returns​

NameTypeDescription
_0bytes32undefined

grantRole(bytes32,address)​

Solidity

function grantRole(bytes32 role, address account) external nonpayable
Details

Grants role to account. If account had not been already granted role, emits a {RoleGranted} event. Requirements: - the caller must have role's admin role.

Parameters​

NameTypeDescription
rolebytes32undefined
accountaddressundefined

hasRole(bytes32,address)​

Solidity

function hasRole(bytes32 role, address account) external view returns (bool)
Details

Returns true if account has been granted role.

Parameters​

NameTypeDescription
rolebytes32undefined
accountaddressundefined

Returns​

NameTypeDescription
_0boolundefined

interfaceImplementations(string,bytes4)​

Solidity

function interfaceImplementations(string, bytes4) external view returns (bool)
Details

mapping beacon name => function selector => isImplemented

Parameters​

NameTypeDescription
_0stringundefined
_1bytes4undefined

Returns​

NameTypeDescription
_0boolundefined

owner()​

Solidity

function owner() external view returns (address)
Details

Returns the address of the current owner.

Returns​

NameTypeDescription
_0addressundefined

registerBeacon(string,address,string)​

Solidity

function registerBeacon(string _name, address _address, string _ipfsConfigForBeacon) external nonpayable
Details

Registers a beacon associated with a new vault typeThis function is only available to the beacon creatorRegisters any address as a new beacon. Useful for alternative beacon types (i.e. a contract which will use a proxy structure other than the standard beacon).

Parameters​

NameTypeDescription
_namestringThe name of the vault type this beacon will be using
_addressaddressThe address of the beacon contract
_ipfsConfigForBeaconstringIPFS hash for the config of this beacon

renounceOwnership()​

Solidity

function renounceOwnership() external nonpayable
Details

Leaves the contract without owner. It will not be possible to call onlyOwner functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.

renounceRole(bytes32,address)​

Solidity

function renounceRole(bytes32 role, address account) external nonpayable
Details

Revokes role from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked role, emits a {RoleRevoked} event. Requirements: - the caller must be account.

Parameters​

NameTypeDescription
rolebytes32undefined
accountaddressundefined

revokeRole(bytes32,address)​

Solidity

function revokeRole(bytes32 role, address account) external nonpayable
Details

Revokes role from account. If account had been granted role, emits a {RoleRevoked} event. Requirements: - the caller must have role's admin role.

Parameters​

NameTypeDescription
rolebytes32undefined
accountaddressundefined

supportsInterface(bytes4)​

Solidity

function supportsInterface(bytes4 interfaceId) external view returns (bool)
Details

See {IERC165-supportsInterface}.

Parameters​

NameTypeDescription
interfaceIdbytes4undefined

Returns​

NameTypeDescription
_0boolundefined

transferOwnership(address)​

Solidity

function transferOwnership(address newOwner) external nonpayable
Details

Transfers ownership of the contract to a new account (newOwner). Can only be called by the current owner.

Parameters​

NameTypeDescription
newOwneraddressundefined

updateBeaconConfig(string,string)​

Solidity

function updateBeaconConfig(string _name, string _newIPFSConfigForBeacon) external nonpayable
Details

Updates the ipfs link storing the beaconConfig

Parameters​

NameTypeDescription
_namestringThe name of the beacon (identifier)
_newIPFSConfigForBeaconstringIPFS hash for the config of this beacon

updateInterfaceImplementations(string,bytes4[],bool[])​

Solidity

function updateInterfaceImplementations(string beaconName, bytes4[] selectors, bool[] isImplemented) external nonpayable
Details

add interface info to given beacon

Parameters​

NameTypeDescription
beaconNamestringundefined
selectorsbytes4[]undefined
isImplementedbool[]undefined

Events​

BeaconConfigUpdated​

Solidity

event BeaconConfigUpdated(string _name, string _ipfsHash)

Parameters​

NameTypeDescription
_namestringundefined
_ipfsHashstringundefined

BeaconDeregistered​

Solidity

event BeaconDeregistered(string _name)

Parameters​

NameTypeDescription
_namestringundefined

BeaconRegistered​

Solidity

event BeaconRegistered(string _name, address _address, string _ipfsHash)

Parameters​

NameTypeDescription
_namestringundefined
_addressaddressundefined
_ipfsHashstringundefined

OwnershipTransferred​

Solidity

event OwnershipTransferred(address indexed previousOwner, address indexed newOwner)

Parameters​

NameTypeDescription
previousOwner indexedaddressundefined
newOwner indexedaddressundefined

RoleAdminChanged​

Solidity

event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)

Parameters​

NameTypeDescription
role indexedbytes32undefined
previousAdminRole indexedbytes32undefined
newAdminRole indexedbytes32undefined

RoleGranted​

Solidity

event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

RoleRevoked​

Solidity

event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)

Parameters​

NameTypeDescription
role indexedbytes32undefined
account indexedaddressundefined
sender indexedaddressundefined

Errors​

IncorrectArrayLengths​

Solidity

error IncorrectArrayLengths(uint256 selectorLength, uint256 isImplementedLength)

Parameters​

NameTypeDescription
selectorLengthuint256undefined
isImplementedLengthuint256undefined