> For the complete documentation index, see [llms.txt](https://docs.renfter.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.renfter.com/developers/integration/smart-contracts/functionality-specific-details/method-whitelisting.md).

# Method whitelisting

Defining the methods that are going to be whitelisted can be done when the wrapper token is being offered for rent by calling the following function defined in Renfter smart contract:

{% code lineNumbers="true" %}

```solidity
function offerForRent(
        address wContract,
        uint256 tokenId,
        uint96 pricePerSecond,
        uint64 maxRendDuration,
        IMethodWhitelist.WhitelistedDTO[] calldata whitelisted
 ) external;
```

{% endcode %}

{% hint style="info" %}
Description of used structures can be found in [Smart Contract Documentation](/developers/integration/smart-contracts/documentation.md), under `Structure` page.
{% endhint %}

<mark style="color:red;">`whitelisted`</mark> parameter should contain an array of [WhitelistedDTO](https://renfter.gitbook.io/renter-protocol-smart-contracts/docs/structs#whitelisted-1) structure objects. This object contains info about the method selector, the call limit of the method, and if it's whitelisted or not. The lender can call the following function of NFT collection wrapper in order to add/remove whitelist and configure it:

{% code lineNumbers="true" %}

```solidity
function setWhitelistedMethods(
    uint256 tokenId,
    WhitelistedDTO[] calldata whitelisted
)
```

{% endcode %}

{% hint style="warning" %}
The whitelist can only be changed only when the token of interest is not rented out.
{% endhint %}
