IProtectedClearingByPartition
Asset Tokenization Studio Team
IProtectedClearingByPartition
Interface for the protected variant of partition-scoped clearing operations (redeem and transfer), gated by a per-partition role and an off-chain signature provided by the token holder.
The protected-clearing events (ProtectedClearedRedeemByPartition, ProtectedClearedTransferByPartition) are declared on this writer interface and emitted inline from ProtectedClearingByPartition.protectedClearing{Redeem,Transfer}ByPartition after the ClearingProtectedOps library call returns successfully. is IClearingTypes is retained for the ProtectedClearingOperation struct used in method signatures.
Methods
initializeProtectedClearingByPartition
function initializeProtectedClearingByPartition() external nonpayable
Initialises the protected-clearing-by-partition capability on the token.
Callable once; subsequent calls revert with FacetAlreadyRegistered. Requires DEFAULT_ADMIN_ROLE. Called by the factory during deployment.
protectedClearingRedeemByPartition
function protectedClearingRedeemByPartition(IClearingTypes.ProtectedClearingOperation _protectedClearingOperation, uint256 _amount, bytes _signature) external nonpayable returns (bool success_, uint256 clearingId_)
Parameters
| Name | Type | Description |
|---|---|---|
| _protectedClearingOperation | IClearingTypes.ProtectedClearingOperation | undefined |
| _amount | uint256 | undefined |
| _signature | bytes | undefined |
Returns
| Name | Type | Description |
|---|---|---|
| success_ | bool | undefined |
| clearingId_ | uint256 | undefined |
protectedClearingTransferByPartition
function protectedClearingTransferByPartition(IClearingTypes.ProtectedClearingOperation _protectedClearingOperation, uint256 _amount, address _to, bytes _signature) external nonpayable returns (bool success_, uint256 clearingId_)
Parameters
| Name | Type | Description |
|---|---|---|
| _protectedClearingOperation | IClearingTypes.ProtectedClearingOperation | undefined |
| _amount | uint256 | undefined |
| _to | address | undefined |
| _signature | bytes | undefined |
Returns
| Name | Type | Description |
|---|---|---|
| success_ | bool | undefined |
| clearingId_ | uint256 | undefined |
Events
ClearedHoldByPartition
event ClearedHoldByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, IHoldTypes.Hold hold, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a token holder registers a clearing-guarded hold creation on a partition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation. |
tokenHolder indexed | address | Address of the holder whose tokens are to be placed under hold. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| hold | IHoldTypes.Hold | Hold parameters that will be used on approval. |
| expirationDate | uint256 | Unix timestamp after which the clearing operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedHoldFromByPartition
event ClearedHoldFromByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, IHoldTypes.Hold hold, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a clearing-guarded hold creation is registered on behalf of a token holder via holdFromByPartition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation on behalf of the holder. |
tokenHolder indexed | address | Address of the holder whose tokens are to be placed under hold. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| hold | IHoldTypes.Hold | Hold parameters that will be used on approval. |
| expirationDate | uint256 | Unix timestamp after which the clearing operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedOperatorRedeemByPartition
event ClearedOperatorRedeemByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when an operator registers a clearing-guarded redemption using operator-level permissions.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Authorised operator that submitted the clearing operation. |
tokenHolder indexed | address | Address of the holder whose tokens are pending redemption. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending redemption. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedOperatorTransferByPartition
event ClearedOperatorTransferByPartition(address indexed operator, address indexed tokenHolder, address indexed to, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when an operator registers a clearing-guarded transfer using operator-level permissions.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Authorised operator that submitted the clearing operation. |
tokenHolder indexed | address | Address of the holder whose tokens are pending transfer. |
to indexed | address | Intended recipient of the tokens upon approval. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending transfer. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedRedeemByPartition
event ClearedRedeemByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a token holder registers a clearing-guarded redemption on a partition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation. |
tokenHolder indexed | address | Address of the holder whose tokens are pending redemption. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending redemption. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedRedeemFromByPartition
event ClearedRedeemFromByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a clearing-guarded redemption is registered on behalf of a token holder via redeemFromByPartition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation on behalf of the holder. |
tokenHolder indexed | address | Address of the holder whose tokens are pending redemption. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending redemption. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedTransferByPartition
event ClearedTransferByPartition(address indexed operator, address indexed tokenHolder, address indexed to, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a token holder registers a clearing-guarded transfer on a partition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation. |
tokenHolder indexed | address | Address of the holder whose tokens are pending transfer. |
to indexed | address | Intended recipient of the tokens upon approval. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending transfer. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearedTransferFromByPartition
event ClearedTransferFromByPartition(address indexed operator, address indexed tokenHolder, address indexed to, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a clearing-guarded transfer is registered on behalf of a token holder via transferFromByPartition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that submitted the clearing operation on behalf of the holder. |
tokenHolder indexed | address | Address of the holder whose tokens are pending transfer. |
to indexed | address | Intended recipient of the tokens upon approval. |
| partition | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier for the registered operation. |
| amount | uint256 | Token quantity pending transfer. |
| expirationDate | uint256 | Unix timestamp after which the operation may be reclaimed. |
| data | bytes | Caller-supplied data attached to the operation. |
| operatorData | bytes | Data provided by the operator. |
ClearingActivated
event ClearingActivated(address indexed operator)
Emitted when the clearing feature is enabled for the token.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address of the administrator that activated clearing. |
ClearingDeactivated
event ClearingDeactivated(address indexed operator)
Emitted when the clearing feature is disabled for the token.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address of the administrator that deactivated clearing. |
ClearingOperationApproved
event ClearingOperationApproved(address indexed operator, address indexed tokenHolder, bytes32 indexed partition, uint256 clearingId, enum IClearingTypes.ClearingOperationType clearingOperationType, bytes operationData)
Emitted when a pending clearing operation is approved and the underlying token operation is executed.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that approved the operation. |
tokenHolder indexed | address | Address of the holder whose tokens were pending. |
partition indexed | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier of the approved operation. |
| clearingOperationType | enum IClearingTypes.ClearingOperationType | Discriminant indicating the kind of operation approved. |
| operationData | bytes | Encoded data forwarded to the underlying token call. |
ClearingOperationCanceled
event ClearingOperationCanceled(address indexed operator, address indexed tokenHolder, bytes32 indexed partition, uint256 clearingId, enum IClearingTypes.ClearingOperationType clearingOperationType)
Emitted when a pending clearing operation is cancelled before it expires.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that cancelled the operation. |
tokenHolder indexed | address | Address of the holder whose tokens were pending. |
partition indexed | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier of the cancelled operation. |
| clearingOperationType | enum IClearingTypes.ClearingOperationType | Discriminant indicating the kind of operation cancelled. |
ClearingOperationReclaimed
event ClearingOperationReclaimed(address indexed operator, address indexed tokenHolder, bytes32 indexed partition, uint256 clearingId, enum IClearingTypes.ClearingOperationType clearingOperationType)
Emitted when an expired clearing operation is reclaimed, releasing the locked tokens back to the holder.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Address that reclaimed the operation. |
tokenHolder indexed | address | Address of the holder whose tokens were pending. |
partition indexed | bytes32 | ERC-1400 partition the tokens belong to. |
| clearingId | uint256 | Sequential identifier of the reclaimed operation. |
| clearingOperationType | enum IClearingTypes.ClearingOperationType | Discriminant indicating the kind of operation reclaimed. |
ProtectedClearedRedeemByPartition
event ProtectedClearedRedeemByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a protected clearing redeem operation is successfully created for a partition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | The address that initiated the protected clearing operation. |
tokenHolder indexed | address | The address of the token holder executing the clearing. |
| partition | bytes32 | The partition identifier for this clearing operation. |
| clearingId | uint256 | The unique identifier assigned to this clearing operation. |
| amount | uint256 | The amount cleared. |
| expirationDate | uint256 | The expiration timestamp for the clearing operation. |
| data | bytes | The operation data associated with the clearing. |
| operatorData | bytes | Additional operator-specific data. |
ProtectedClearedTransferByPartition
event ProtectedClearedTransferByPartition(address indexed operator, address indexed tokenHolder, address indexed to, bytes32 partition, uint256 clearingId, uint256 amount, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when a protected clearing transfer operation is successfully created for a partition.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | The address that initiated the protected clearing operation. |
tokenHolder indexed | address | The address of the token holder executing the clearing. |
to indexed | address | The address to transfer tokens to. |
| partition | bytes32 | The partition identifier for this clearing operation. |
| clearingId | uint256 | The unique identifier assigned to this clearing operation. |
| amount | uint256 | The amount cleared. |
| expirationDate | uint256 | The expiration timestamp for the clearing operation. |
| data | bytes | The operation data associated with the clearing. |
| operatorData | bytes | Additional operator-specific data. |
ProtectedClearingByPartitionInitialized
event ProtectedClearingByPartitionInitialized()
Emitted once when the protected-clearing-by-partition capability is initialised on a token.
Fires exclusively from initializeProtectedClearingByPartition.
Errors
ClearingIsActivated
error ClearingIsActivated()
Thrown when an administration action requires clearing to be inactive but it is currently enabled.
ClearingIsDisabled
error ClearingIsDisabled()
Thrown when a clearing-dependent operation is attempted while the clearing feature is disabled on the token.
ExpirationDateNotReached
error ExpirationDateNotReached()
Thrown when an action requires the clearing operation to have expired (e.g., a reclaim attempt) but the expiration timestamp has not yet passed.
ExpirationDateReached
error ExpirationDateReached()
Thrown when an action requires the clearing operation to still be within its validity window but its expiration timestamp has already passed.
InvalidClearingAmount
error InvalidClearingAmount()
Thrown when the token amount supplied for a clearing operation is invalid (e.g., zero or exceeding the holder's available balance).
WrongClearingId
error WrongClearingId()
Thrown when the supplied clearingId does not correspond to an existing or active clearing operation for the given holder and partition.