> For the complete documentation index, see [llms.txt](https://docs.essencefinance.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.essencefinance.io/development/smart-contracts/timelocks/itokentimelock.md).

# ITokenTimelock

## Functions

### release

```solidity
function release(
    address to,
    uint256 amount
) external
```

#### Parameters

| Name     | Type    | Description |
| -------- | ------- | ----------- |
| `to`     | address |             |
| `amount` | uint256 |             |

### releaseMax

```solidity
function releaseMax(
    address to
) external
```

#### Parameters

| Name | Type    | Description |
| ---- | ------- | ----------- |
| `to` | address |             |

### setPendingBeneficiary

```solidity
function setPendingBeneficiary(
    address _pendingBeneficiary
) external
```

#### Parameters

| Name                  | Type    | Description |
| --------------------- | ------- | ----------- |
| `_pendingBeneficiary` | address |             |

### acceptBeneficiary

```solidity
function acceptBeneficiary() external
```

### lockedToken

```solidity
function lockedToken() external returns (contract IERC20)
```

### beneficiary

```solidity
function beneficiary() external returns (address)
```

### pendingBeneficiary

```solidity
function pendingBeneficiary() external returns (address)
```

### initialBalance

```solidity
function initialBalance() external returns (uint256)
```

### availableForRelease

```solidity
function availableForRelease() external returns (uint256)
```

### totalToken

```solidity
function totalToken() external returns (uint256)
```

### alreadyReleasedAmount

```solidity
function alreadyReleasedAmount() external returns (uint256)
```

## Events

### Release

```solidity
event Release(
    address _beneficiary,
    address _recipient,
    uint256 _amount
)
```

#### Parameters

| Name                  | Type    | Description |
| --------------------- | ------- | ----------- |
| `_beneficiary`        | address |             |
| `_recipient`          | address |             |
| `_amount`             | uint256 |             |
| ### BeneficiaryUpdate |         |             |

```solidity
event BeneficiaryUpdate(
    address _beneficiary
)
```

#### Parameters

| Name                         | Type    | Description |
| ---------------------------- | ------- | ----------- |
| `_beneficiary`               | address |             |
| ### PendingBeneficiaryUpdate |         |             |

```solidity
event PendingBeneficiaryUpdate(
    address _pendingBeneficiary
)
```

#### Parameters

| Name                  | Type    | Description |
| --------------------- | ------- | ----------- |
| `_pendingBeneficiary` | address |             |


---

# 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:

```
GET https://docs.essencefinance.io/development/smart-contracts/timelocks/itokentimelock.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
