> For the complete documentation index, see [llms.txt](https://blitslabs.gitbook.io/filecoin-loans/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://blitslabs.gitbook.io/filecoin-loans/reference-guide/filecoin-loans-contracts/interfaces/ierc20.md).

# IERC20

ERC token interface

## Functions

### totalSupply

Returns the amount of tokens in existence.

### balanceOf

Returns the amount of tokens owned by `account`.

**Parameters**

| Parameter | Type    | Description           |
| --------- | ------- | --------------------- |
| account   | address | Account to be checked |

### transfer

Moves `amount` tokens from the caller's account to `recipient`. Returns a boolean value indicating whether the operation succeeded. Emits a Transfer event.

**Parameters**

| Parameter | Type    | Description             |
| --------- | ------- | ----------------------- |
| recipient | address | Recipient's address     |
| amount    | uint256 | Amount to be transfered |

### allowance

Returns the remaining number of tokens that `spender` will be allowed to spend on behalf of `owner` through transferFrom. This is  zero by default.

**Parameters**

| Parameter | Type    | Description       |
| --------- | ------- | ----------------- |
| owner     | address | Owner's address   |
| spender   | address | Spender's address |

### approve

Sets `amount` as the allowance of `spender` over the caller's tokens.

**Parameters**

| Parameter | Type    | Description      |
| --------- | ------- | ---------------- |
| spender   | address | Sped's address   |
| amount    | uint256 | Allowance amount |

### transferFrom

Moves `amount` tokens from `sender` to `recipient` using the allowance mechanism.

**Parameters**

| Parameter  | Type    | Description         |
| ---------- | ------- | ------------------- |
| sender     | address | Sender's address    |
| recipients | address | Recipient's address |
| amount     | uint256 | Allowance amount    |

## Events

### Transfer

Emitted when `value` tokens are moved from one account (`from`) to another (`to`).

**Parameters**

| Parameter | Type    | Description         |
| --------- | ------- | ------------------- |
| from      | address | Sender's address    |
| to        | address | Recipient's address |
| value     | uint256 | Allowance amount    |

### Approval

&#x20;Emitted when the allowance of a `spender` for an `owner` is set by a call to `approve`. `value` is the new allowance.

**Parameters**

| Parameter | Type    | Description       |
| --------- | ------- | ----------------- |
| owner     | address | Owner's address   |
| spender   | address | Spender's address |
| value     | uint256 | New allowance     |
