> For the complete documentation index, see [llms.txt](https://elektro.gitbook.io/elektro-protocol/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://elektro.gitbook.io/elektro-protocol/smart-contracts/natspec-technical-documentation/registry/elektroregistryrouter.md).

# ElektroRegistryRouter

View Source: contracts/elektro/init/ElektroRegistryRouter.sol

**↗ Extends: Router,** [**Delegator**](broken://pages/HodRCMxbn60x1wNP5Viw)

**ElektroRegistryRouter**

Contract used to route calls to ElektroRegistry contracts and functions.

## Contract Members

**Constants & Variables**

Signature of the initalization function of the ElektroRegistry module. Is called by {ElektroRegistryRouter} during it's construction to initialize {ElektroRegistryStorage} (set crucial state variables). It is a top part of multiple initialization calls, the lower parts being {RegistryBase.initRegistryBase()}.

```js
bytes4 internal constant INIT_SIG;
```

***

## Functions

* (address \_resolver, address \_roleManager, address\[4] addressData)

###

Constructor initiating Proxy Pattern storage initialization. Besides setting main vars on the Router itself, makes delegatecall to {ElektroRegistryAdmin} to initialize {ElektroRegistryStorage}.

```js
function (address _resolver, address _roleManager, address[4] addressData) public nonpayable
```

**Arguments**

| Name          | Type        | Description                                                                                                                                                                                                                                                    |
| ------------- | ----------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| \_resolver    | address     | - address of the ElektroRegistryResolver Notice that contract with this name is not present as code - we just deploy regular Resolver contract and name it ElektroRegistryResolver in the DB to differentiate between it and Resolvers of other proxy modules. |
| \_roleManager | address     | - address of the {RoleManager}                                                                                                                                                                                                                                 |
| addressData   | address\[4] | - array of address arguments that need to be passed to {initElektroRegistry()} function to make delegatecall for storage initialization.                                                                                                                       |
