Skip to main content

IBatchTransfer

Asset Tokenization Studio Team

IBatchTransfer

Interface for batch transferring tokens to multiple addresses in a single transaction.

Intended for use by token holders operating on ERC3643-compliant tokens under single partition mode. Exposes the batchTransfer selector registered in the Diamond proxy under RESOLVER_KEY_BATCH_TRANSFER.

Methods​

batchTransfer​

function batchTransfer(address[] _toList, uint256[] _amounts) external nonpayable

Transfers tokens from the caller to multiple addresses in a single transaction.

Token must be unpaused, not in multi-partition mode, clearing disabled, and the caller plus every recipient must satisfy identity and compliance checks. Delegates each transfer to TokenCoreOps.transfer.

Parameters​

NameTypeDescription
_toListaddress[]Recipient addresses.
_amountsuint256[]Corresponding token amounts to transfer. Must be the same length as _toList.

initializeBatchTransfer​

function initializeBatchTransfer() external nonpayable

Initialises the batch transfer capability on the token.

Callable once; subsequent calls revert with FacetAlreadyRegistered. Requires DEFAULT_ADMIN_ROLE. Called by the factory during deployment.

Events​

BatchTransferInitialized​

event BatchTransferInitialized()

Emitted once when the batch transfer capability is initialised on a token.

Fires exclusively from initializeBatchTransfer.