# CCIP v1.5.0 BurnFromMintTokenPool Contract API Reference
Source: https://docs.chain.link/ccip/api-reference/evm/v1.5.0/burn-from-mint-token-pool

> For the complete documentation index, see [llms.txt](/llms.txt).

> **NOTE: Integrate Chainlink CCIP v1.5.0 into your project**

## BurnFromMintTokenPool

[`BurnFromMintTokenPool`](https://github.com/smartcontractkit/ccip/tree/release/contracts-ccip-1.5.0/contracts/src/v0.8/ccip/pools/BurnFromMintTokenPool.sol) is a concrete implementation that inherits from [`BurnMintTokenPoolAbstract`](/ccip/api-reference/evm/v1.5.0/burn-mint-token-pool-abstract). It is designed to mint and burn a 3rd-party token, using the `burnFrom(address, amount)` function for burning tokens, where the contract burns tokens from its own balance. When allowlist is enabled, it ensures only token-developer specified addresses can transfer tokens.

## Variables

### typeAndVersion

```solidity
string typeAndVersion
```

## Functions

### constructor

```solidity
constructor(contract IBurnMintERC20 token, address[] allowlist, address rmnProxy, address router) public
```

#### Parameters

| Name      | Type           | Description                                                           |
| --------- | -------------- | --------------------------------------------------------------------- |
| token     | IBurnMintERC20 | The token that will be burned and minted.                             |
| allowlist | address\[]     | List of addresses allowed to be original senders for token transfers. |
| rmnProxy  | address        | The RMN proxy address.                                                |
| router    | address        | The router address.                                                   |

### \_burn

```solidity
function _burn(uint256 amount) internal virtual
```

Contains the specific burn call for a pool using the token's burnFrom(address, amount) function.

#### Parameters

| Name   | Type    | Description                   |
| ------ | ------- | ----------------------------- |
| amount | uint256 | The amount of tokens to burn. |