Skip to main content

PluginRepoRegistry

Description

This contract maintains an address-based registry of plugin repositories in the Aragon App DAO framework.

Implementation

public variable REGISTER_PLUGIN_REPO_PERMISSION_ID

The ID of the permission required to call the register function.

bytes32 REGISTER_PLUGIN_REPO_PERMISSION_ID

public variable subdomainRegistrar

The ENS subdomain registrar registering the PluginRepo subdomains.

contract ENSSubdomainRegistrar subdomainRegistrar

event PluginRepoRegistered

Emitted if a new plugin repository is registered.

event PluginRepoRegistered(string subdomain, address pluginRepo)
InputTypeDescription
subdomainstringThe subdomain of the plugin repository.
pluginRepoaddressThe address of the plugin repository.

error InvalidPluginSubdomain

Thrown if the plugin subdomain doesn't match the regex [0-9a-z\-]

error InvalidPluginSubdomain(string subdomain)

error EmptyPluginRepoSubdomain

Thrown if the plugin repository subdomain is empty.

error EmptyPluginRepoSubdomain()

public function constructor

constructor() public

Used to disallow initializing the implementation contract by an attacker for extra safety.

external function initialize

Initializes the contract by setting calling the InterfaceBasedRegistry base class initialize method.

function initialize(contract IDAO _dao, contract ENSSubdomainRegistrar _subdomainRegistrar) external
InputTypeDescription
_daocontract IDAOThe address of the managing DAO.
_subdomainRegistrarcontract ENSSubdomainRegistrarThe ENSSubdomainRegistrar where ENS subdomain will be registered.

external function registerPluginRepo

Registers a plugin repository with a subdomain and address.

function registerPluginRepo(string subdomain, address pluginRepo) external
InputTypeDescription
subdomainstringThe subdomain of the PluginRepo.
pluginRepoaddressThe address of the PluginRepo contract.
© 2024