Skip to main content

Signature

IB20Asset.sol

Description

Mints amounts[i] to recipients[i] in one call. All-or-nothing: any element revert unwinds the whole transaction. Emits Transfer(address(0), recipients[i], amounts[i]) per element.
This function is deleted upstream. The source file docs/B20/Asset.md has been removed. The content below reflects the last known state; verify against the current IB20Asset interface before use.
Dev: Reverts with ContractPaused(MINT) when MINT is paused. Dev: Reverts with AccessControlUnauthorizedAccount when the caller does not hold MINT_ROLE. Dev: Reverts with LengthMismatch when recipients.length != amounts.length. Dev: Reverts with EmptyBatch when either array is empty. Dev: Reverts with InvalidReceiver when any recipients[i] == address(0). Dev: Reverts with PolicyForbids(MINT_RECEIVER_POLICY, ...) when any recipient is not authorized. Dev: Reverts with SupplyCapExceeded when the cumulative mint would exceed the cap. Param: recipients Accounts receiving the minted tokens. Param: amounts Per-recipient amounts, parallel to recipients.

Access Control

Gated by MINT_ROLE. Should be wrapped in announce(), which additionally requires OPERATOR_ROLE.

Policy Interaction

Checks MINT_RECEIVER_POLICY for each recipient. Any recipient that is not authorized causes the whole batch to revert.

Example

Usage Example