> 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.                                                                                                                       |


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://elektro.gitbook.io/elektro-protocol/smart-contracts/natspec-technical-documentation/registry/elektroregistryrouter.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
