> For the complete documentation index, see [llms.txt](https://docs.shprd.finance/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.shprd.finance/technical-reference/core-contracts/accessmanager.md).

# AccessManager

## View Methods

### whiteListMode (KYC)

```solidity
function whiteListMode(address _vaultAddress) external view returns (bool isEnabled)
```

Returns the KYC mode status of a vault.

**Call Parameters:**

|                | Type    | Description          |
| -------------- | ------- | -------------------- |
| \_vaultAddress | address | address of the vault |

**Return Value:**

| Type | Description                       |
| ---- | --------------------------------- |
| bool | `true` if the KYC mode is enabled |

### permissionLessMode

```solidity
function permissionLessMode() external view returns (bool isEnabled)
```

Returns the status of the permission-less mode.&#x20;

**Return Value:**

| Type | Description                                   |
| ---- | --------------------------------------------- |
| bool | `true` if the permission-less mode is enabled |

### getUserAccessInfo

```solidity
function getUserAccessInfo(address _user)
    external
    view
    returns (
        uint256 ownedTokenID,
        bool isUserKYC,
        IKYCToken.TokenParameters memory _tokenParameters
    )
```

Returns the KYC information for a given user.

**Call Parameters:**

<table><thead><tr><th width="214">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>_user</code></td><td>address</td><td>address of the user</td></tr></tbody></table>

**Return Values:**

<table><thead><tr><th width="214">Name</th><th>Type</th><th>Description</th></tr></thead><tbody><tr><td><code>ownedTokenID</code></td><td>uint256</td><td>KYC token ID</td></tr><tr><td><code>isUserKYC</code></td><td>bool</td><td>KYC state of the user</td></tr><tr><td><code>_tokenParameters</code></td><td>IKYCToken.TokenParameters</td><td>KYC information of the user</td></tr></tbody></table>

### isWhiteListed

```solidity
function isWhiteListed(address _vault, address _user) 
    public view returns (bool)
```

Returns the whitelist status of a given user.

**Call Parameters:**

| Name     | Type    | Description               |
| -------- | ------- | ------------------------- |
| `_vault` | address | address of a vault        |
| `_user`  | address | address of a vault's user |

**Return Value:**

| Type | Description                          |
| ---- | ------------------------------------ |
| bool | `true` if the address is whitelisted |

## Write Methods

### SetPermissionLessMode

```solidity
function setPermissionLessMode(bool _status) external
```

Settles the permission-less mode.&#x20;

{% hint style="info" %}
This method can only be called by address with **DEFAULT\_ADMIN\_ROLE**.
{% endhint %}

**Call Parameters:**

| Name      | Type | Description                               |
| --------- | ---- | ----------------------------------------- |
| `_status` | bool | `true` to enable the permission-less mode |

### SetWhiteListMode (KYC)

```solidity
function setWhiteListMode(address _vault, bool _status) external
```

Settles the KYC mode of a vault.&#x20;

{% hint style="info" %}
This method can only be called by address with **DEFAULT\_ADMIN\_ROLE**.
{% endhint %}

**Call Parameters:**

| Name      | Type    | Description                   |
| --------- | ------- | ----------------------------- |
| `_vault`  | address | address of a vault            |
| `_status` | bool    | `true` to enable the KYC mode |

### SetKYCTokenImp

```solidity
function setKYCTokenImp(address _newKYCTokenImp) external
```

Settles the implementation address of the KYCToken.&#x20;

{% hint style="info" %}
This method can only be called by address with **DEFAULT\_ADMIN\_ROLE**.
{% endhint %}

**Call Parameters:**

| Name              | Type    | Description                                                   |
| ----------------- | ------- | ------------------------------------------------------------- |
| `_newKYCTokenImp` | address | the address of the contract containing the new implementation |


---

# 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://docs.shprd.finance/technical-reference/core-contracts/accessmanager.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.
