> ## Documentation Index
> Fetch the complete documentation index at: https://docs.gains.trade/llms.txt
> Use this file to discover all available pages before exploring further.

# IGNSAddressStore

*Interface for AddressStoreUtils library*

## initialize

```solidity theme={null}
function initialize(address _rolesManager) external
```

*Initializes address store facet*

### Parameters

| Name           | Type    | Description           |
| -------------- | ------- | --------------------- |
| \_rolesManager | address | roles manager address |

## getAddresses

```solidity theme={null}
function getAddresses() external view returns (struct IAddressStore.Addresses)
```

*Returns addresses current values*

## hasRole

```solidity theme={null}
function hasRole(address _account, enum IAddressStore.Role _role) external view returns (bool)
```

*Returns whether an account has been granted a particular role*

### Parameters

| Name      | Type                    | Description              |
| --------- | ----------------------- | ------------------------ |
| \_account | address                 | account address to check |
| \_role    | enum IAddressStore.Role | role to check            |

## setRoles

```solidity theme={null}
function setRoles(address[] _accounts, enum IAddressStore.Role[] _roles, bool[] _values) external
```

*Updates access control for a list of accounts*

### Parameters

| Name       | Type                       | Description                     |
| ---------- | -------------------------- | ------------------------------- |
| \_accounts | address\[]                 | accounts addresses to update    |
| \_roles    | enum IAddressStore.Role\[] | corresponding roles to update   |
| \_values   | bool\[]                    | corresponding new values to set |

## AddressesUpdated

```solidity theme={null}
event AddressesUpdated(struct IAddressStore.Addresses addresses)
```

*Emitted when addresses are updated*

### Parameters

| Name      | Type                           | Description          |
| --------- | ------------------------------ | -------------------- |
| addresses | struct IAddressStore.Addresses | new addresses values |

## AccessControlUpdated

```solidity theme={null}
event AccessControlUpdated(address target, enum IAddressStore.Role role, bool access)
```

*Emitted when access control is updated for an account*

### Parameters

| Name   | Type                    | Description                        |
| ------ | ----------------------- | ---------------------------------- |
| target | address                 | account address to update          |
| role   | enum IAddressStore.Role | role to update                     |
| access | bool                    | whether role is granted or revoked |

## NotAllowed

```solidity theme={null}
error NotAllowed()
```

## WrongAccess

```solidity theme={null}
error WrongAccess()
```
