CCIP v1.6.0 BurnMintTokenPoolAbstract Contract API Reference
BurnMintTokenPoolAbstract
An abstract contract that implements core token pool functionality for burning and minting operations in cross-chain token transfers.
Inherits:
Events
Burned
event Burned(address indexed sender, uint256 amount);
Parameters
| Name | Type | Indexed | Description | 
|---|---|---|---|
| sender | address | Yes | The address initiating the burn operation | 
| amount | uint256 | No | The number of tokens burned | 
Minted
event Minted(address indexed sender, address indexed recipient, uint256 amount);
Parameters
| Name | Type | Indexed | Description | 
|---|---|---|---|
| sender | address | Yes | The address initiating the mint operation | 
| recipient | address | Yes | The address receiving the minted tokens | 
| amount | uint256 | No | The number of tokens minted | 
Functions
_burn
Internal function that executes the token burning operation.
function _burn(uint256 amount) internal virtual;
Parameters
| Name | Type | Description | 
|---|---|---|
| amount | uint256 | The number of tokens to burn | 
lockOrBurn
Burns tokens in the pool during a cross-chain transfer.
function lockOrBurn(
  Pool.LockOrBurnInV1 calldata lockOrBurnIn
) external virtual override returns (Pool.LockOrBurnOutV1 memory);
Parameters
| Name | Type | Description | 
|---|---|---|
| lockOrBurnIn | Pool.LockOrBurnInV1 | Input parameters for the burn operation | 
Returns
| Type | Description | 
|---|---|
| Pool.LockOrBurnOutV1 | Contains destination token address and pool data | 
releaseOrMint
Mints new tokens to a recipient during a cross-chain transfer.
function releaseOrMint(
  Pool.ReleaseOrMintInV1 calldata releaseOrMintIn
) external virtual override returns (Pool.ReleaseOrMintOutV1 memory);
Parameters
| Name | Type | Description | 
|---|---|---|
| releaseOrMintIn | Pool.ReleaseOrMintInV1 | Input parameters for the mint operation | 
Returns
| Type | Description | 
|---|---|
| Pool.ReleaseOrMintOutV1 | Contains the final amount minted in local tokens |