# IonRegistry

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

**Inherits:** Ownable

### [State Variables](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#state-variables" id="state-variables"></a>

#### [gemJoins](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#gemjoins" id="gemjoins"></a>

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

#### [depositContracts](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#depositcontracts" id="depositcontracts"></a>

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

### [Functions](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#functions" id="functions"></a>

#### [constructor](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#constructor" id="constructor"></a>

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

#### [setGemJoin](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#setgemjoin" id="setgemjoin"></a>

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

#### [setDepositContract](https://docs.ionprotocol.io/devs/smart-contract-architecture/periphery/broken-reference) <a href="#setdepositcontract" id="setdepositcontract"></a>

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