CCIP v1.5.1 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 |