> For the complete documentation index, see [llms.txt](https://docs.ionprotocol.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/ionregistry.md).

# IonRegistry

[Git Source](https://github.com/Ion-Protocol/ion-protocol/blob/88cc595825f1dc2eb738fb93e172a3e8ab7a5c43/src/periphery/IonRegistry.sol)

**Inherits:** Ownable

### [State Variables](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#state-variables" id="state-variables"></a>

#### [gemJoins](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#gemjoins" id="gemjoins"></a>

```
GemJoin[] public gemJoins;
```

#### [depositContracts](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#depositcontracts" id="depositcontracts"></a>

```
address[] public depositContracts;
```

### [Functions](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#functions" id="functions"></a>

#### [constructor](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#constructor" id="constructor"></a>

```
constructor(GemJoin[] memory _gemJoins, address[] memory _depositContracts, address _owner) Ownable(_owner);
```

#### [setGemJoin](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#setgemjoin" id="setgemjoin"></a>

```
function setGemJoin(uint8 ilkIndex, GemJoin gemJoin) external onlyOwner;
```

#### [setDepositContract](broken://pages/7QXmvtnkIO1552UJevkO) <a href="#setdepositcontract" id="setdepositcontract"></a>

```
function setDepositContract(uint8 ilkIndex, address depositContract) external onlyOwner;
```
