IBatchBurn
Asset Tokenization Studio Team
IBatchBurn
Interface for batch burning tokens from multiple addresses in a single transaction.
Intended for use by authorised controllers and agents operating on ERC3643-compliant tokens. Exposes the batchBurn selector registered in the Diamond proxy under RESOLVER_KEY_BATCH_BURN.
Methods
batchBurn
function batchBurn(address[] _userAddresses, uint256[] _amounts) external nonpayable
Burns tokens from multiple addresses in a single transaction.
Caller must hold ROLE_CONTROLLER or ROLE_AGENT. The token must not be paused and must not be configured for multi-partition. Emits IController.ControllerRedemption for each address processed.
Parameters
| Name | Type | Description |
|---|---|---|
| _userAddresses | address[] | Addresses from which tokens will be burnt. |
| _amounts | uint256[] | Corresponding token amounts to burn. Must be the same length as _userAddresses. |
initializeBatchBurn
function initializeBatchBurn() external nonpayable
Initialises the batch burn capability on the token.
Callable once; subsequent calls revert with FacetAlreadyRegistered. Requires DEFAULT_ADMIN_ROLE. Called by the factory during deployment.
Events
BatchBurnInitialized
event BatchBurnInitialized()
Emitted once when the batch burn capability is initialised on a token.
Fires exclusively from initializeBatchBurn after the storage write succeeds.