Skip to main content

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​

NameTypeDescription
_userAddressesaddress[]Addresses from which tokens will be burnt.
_amountsuint256[]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.