BurnMintTokenPoolBase
Inherits: BurnMintTokenPoolAbstract
Base contract for creating BurnMintTokenPools.
This extends the BurnMintTokenPoolAbstract contract to allow for a customisable mint call.
Functions
_mint
Specific mint call for a pool.
Overriding this method allows us to create pools with different mint signatures without duplicating the underlying logic.
function _mint(address receiver_, uint256 amount_) internal virtual;
Parameters
| Name | Type | Description |
|---|---|---|
receiver_ | address | The address to mint the tokens to. |
amount_ | uint256 | The amount of tokens to mint. |
releaseOrMint
Releases or mints tokens to the receiver address.
This is the same as the releaseOrMint function in the BurnMintTokenPoolAbstract contract, with the direct mint() call replaced by the call to the virtual _mint() function.
function releaseOrMint(Pool.ReleaseOrMintInV1 calldata releaseOrMintIn)
public
virtual
override
returns (Pool.ReleaseOrMintOutV1 memory);
Parameters
| Name | Type | Description |
|---|---|---|
releaseOrMintIn | Pool.ReleaseOrMintInV1 | All data required to release or mint tokens. |
Returns
| Name | Type | Description |
|---|---|---|
<none> | Pool.ReleaseOrMintOutV1 | releaseOrMintOut The amount of tokens released or minted on the local chain, denominated in the local token's decimals. |