# IwNFTBase

*Interface for base wrapper contract interaction*

## adminTransfer

```solidity
function adminTransfer(address to, uint256 tokenId) external
```

*Transfers `tokenId` from current owner to `to`*

### Parameters

| Name    | Type    | Description      |
| ------- | ------- | ---------------- |
| to      | address | Receiver address |
| tokenId | uint256 | Token identifier |

## mint

```solidity
function mint(address to, uint256 tokenId, uint256 amount) external
```

*Mints new token*

### Parameters

| Name    | Type    | Description                 |
| ------- | ------- | --------------------------- |
| to      | address | Address token is minted for |
| tokenId | uint256 | Token identifier            |
| amount  | uint256 | Amount of tokens minted     |

## exists

```solidity
function exists(uint256 tokenId) external view returns (bool)
```

*Checks if token with passed ID exists*

### Return Values

| Name | Type | Description                        |
| ---- | ---- | ---------------------------------- |
| \[0] | bool | Flag determinating if token exists |

## ownerOf

```solidity
function ownerOf(uint256 tokenId) external view returns (address)
```

*Returns owner of token with given identifier*

### Parameters

| Name    | Type    | Description      |
| ------- | ------- | ---------------- |
| tokenId | uint256 | Token identifier |

### Return Values

| Name | Type    | Description   |
| ---- | ------- | ------------- |
| \[0] | address | Owner address |

## burn

```solidity
function burn(uint256 tokenId, uint256 amount) external
```

*Burns token from owners account*

### Parameters

| Name    | Type    | Description           |
| ------- | ------- | --------------------- |
| tokenId | uint256 | Token identifier      |
| amount  | uint256 | Amount of token burnt |

## executeCall

```solidity
function executeCall(uint256 tokenId, bytes data, bytes signature) external payable
```

*Executes custom call on original collection based on passed parameters*

### Parameters

| Name      | Type    | Description                                                            |
| --------- | ------- | ---------------------------------------------------------------------- |
| tokenId   | uint256 | Token identifier                                                       |
| data      | bytes   | Calldata passed to original collection call                            |
| signature | bytes   | Calldata signature used for verifying if signed by wrapper token onwer |

## SenderNotRenfter

```solidity
error SenderNotRenfter(address sender)
```

*Triggered when sender is not specified `Renfter` contract*

### Parameters

| Name   | Type    | Description    |
| ------ | ------- | -------------- |
| sender | address | Sender address |

## SenderNotAuthorised

```solidity
error SenderNotAuthorised(address sender)
```

*Triggered when sender not authorised for transferring*

### Parameters

| Name   | Type    | Description    |
| ------ | ------- | -------------- |
| sender | address | Sender address |

## RentingInProgress

```solidity
error RentingInProgress(uint256 tokenId)
```

*Triggered when token is rented out*

### Parameters

| Name    | Type    | Description      |
| ------- | ------- | ---------------- |
| tokenId | uint256 | Token identifier |

## RentExpired

```solidity
error RentExpired(uint256 tokenId)
```

*Triggered when rent has expired*

### Parameters

| Name    | Type    | Description      |
| ------- | ------- | ---------------- |
| tokenId | uint256 | Token identifier |

## CallerNotTokenOwner

```solidity
error CallerNotTokenOwner(address sender, uint256 tokenId)
```

*Triggered when sender is not token owner*

### Parameters

| Name    | Type    | Description      |
| ------- | ------- | ---------------- |
| sender  | address | Sender address   |
| tokenId | uint256 | Token identifier |
