OperatorClearingHoldByPartitionFacet
Asset Tokenization Studio Team
OperatorClearingHoldByPartitionFacet
Diamond facet that exposes operator-clearing-hold-by-partition operations to the proxy.
Selectors exposed: - initializeOperatorClearingHoldByPartition - operatorClearingCreateHoldByPartition
Methods
getStaticFunctionSelectors
function getStaticFunctionSelectors() external pure returns (bytes4[])
Gets all function selectors of a facet
Returns
| Name | Type | Description |
|---|---|---|
| _0 | bytes4[] | Face functions selectors |
getStaticInterfaceIds
function getStaticInterfaceIds() external pure returns (bytes4[])
Gets all interfaces ids of a facet.
Returns
| Name | Type | Description |
|---|---|---|
| _0 | bytes4[] | Face interface ids |
getStaticResolverKey
function getStaticResolverKey() external pure returns (bytes32 staticResolverKey_)
Gets the static resolver key
Returns
| Name | Type | Description |
|---|---|---|
| staticResolverKey_ | bytes32 | Static resolver key |
initializeOperatorClearingHoldByPartition
function initializeOperatorClearingHoldByPartition() external nonpayable
Initialises the operator-clearing-hold-by-partition capability on the token.
Callable once; subsequent calls revert with FacetAlreadyRegistered. Requires DEFAULT_ADMIN_ROLE. Called by the factory during deployment.
operatorClearingCreateHoldByPartition
function operatorClearingCreateHoldByPartition(IClearingTypes.ClearingOperationFrom _clearingOperationFrom, IHoldTypes.Hold _hold) external nonpayable returns (bool success_, uint256 clearingId_)
Parameters
| Name | Type | Description |
|---|---|---|
| _clearingOperationFrom | IClearingTypes.ClearingOperationFrom | undefined |
| _hold | IHoldTypes.Hold | 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. |
ClearedOperatorHoldByPartition
event ClearedOperatorHoldByPartition(address indexed operator, address indexed tokenHolder, bytes32 partition, uint256 clearingId, IHoldTypes.Hold hold, uint256 expirationDate, bytes data, bytes operatorData)
Emitted when an authorised operator schedules a hold creation through the clearing flow.
Parameters
| Name | Type | Description |
|---|---|---|
operator indexed | address | Account that invoked the clearing hold creation (the operator). |
tokenHolder indexed | address | Address whose balance is being committed to the hold. |
| partition | bytes32 | Partition under which the hold is scheduled. |
| clearingId | uint256 | Identifier assigned to the queued clearing operation. |
| hold | IHoldTypes.Hold | Hold parameters that will be created on approval. |
| expirationDate | uint256 | Expiration of the clearing operation itself. |
| data | bytes | Arbitrary payload attached to the clearing operation. |
| operatorData | bytes | Operator-supplied payload accompanying the request. |
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. |
OperatorClearingHoldByPartitionInitialized
event OperatorClearingHoldByPartitionInitialized()
Emitted once when the operator-clearing-hold-by-partition capability is initialised on a token.
Fires exclusively from initializeOperatorClearingHoldByPartition.
Errors
AccountHasNoRole
error AccountHasNoRole(address account, bytes32 role)
Thrown when an account does not hold a required role.
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | The account that lacks the role. |
| role | bytes32 | The role that is not held. |
AssetNotOperational
error AssetNotOperational(bytes32 configId, uint256 versionId)
Raised by InitializerStorageWrapper.checkOperational (and the related isConfigVersionOperational helper) when an operation is attempted on a configuration version that has not yet been marked operational.
Parameters
| Name | Type | Description |
|---|---|---|
| configId | bytes32 | Resolver-proxy configuration whose operational status was checked. |
| versionId | uint256 | Configuration version whose operational status was checked. |
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.
Deactivated
error Deactivated()
Thrown when an operation guarded by onlyActivated is attempted on a token whose deactivation flag has already been set.
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.
FacetAlreadyRegistered
error FacetAlreadyRegistered(bytes32 facetId, uint256 lastVersion)
Raised when an initialiser tries to register a facet that already has a non-zero last registered version (i.e. the facet is being re-initialised on a fresh install).
Parameters
| Name | Type | Description |
|---|---|---|
| facetId | bytes32 | Identifier of the offending facet. |
| lastVersion | uint256 | Last version recorded for that facet at the time of the check. |
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).
IsPaused
error IsPaused()
Thrown when an operation that requires the token to be unpaused is attempted while the token is paused (own flag or any external pause contract).
PartitionNotAllowedInSinglePartitionMode
error PartitionNotAllowedInSinglePartitionMode(bytes32 partition)
Thrown when a multi-partition operation specifies a partition not permitted in single-partition mode.
Parameters
| Name | Type | Description |
|---|---|---|
| partition | bytes32 | The disallowed partition supplied by the caller. |
PartitionsAreProtectedAndNoRole
error PartitionsAreProtectedAndNoRole(address account, bytes32 role)
Reverts when a transfer is attempted while partitions are protected and the caller does not hold the required partition role.
Parameters
| Name | Type | Description |
|---|---|---|
| account | address | The caller lacking the required role. |
| role | bytes32 | The role that would have been needed to proceed. |
Unauthorized
error Unauthorized(address operator, address tokenHolder, bytes32 partition)
Thrown when the caller is not an authorised operator for the token holder on the given partition.
Parameters
| Name | Type | Description |
|---|---|---|
| operator | address | Address that attempted the operation. |
| tokenHolder | address | Token holder whose tokens were targeted. |
| partition | bytes32 | Partition on which authorisation was checked. |
UnrecognizedResolverProxyVersion
error UnrecognizedResolverProxyVersion(bytes8 _resolverProxyVersion)
Thrown when the provided proxy version does not match any BLR compatible standard.
Parameters
| Name | Type | Description |
|---|---|---|
| _resolverProxyVersion | bytes8 | proxy version that is not compatible with the BLR. |
WalletRecovered
error WalletRecovered()
Thrown when attempting to recover a wallet that has already been recovered.
WrongClearingId
error WrongClearingId()
Thrown when the supplied clearingId does not correspond to an existing or active clearing operation for the given holder and partition.
WrongExpirationTimestamp
error WrongExpirationTimestamp()
Reverts when an expiration timestamp is invalid.
Used for expired, past, or otherwise unacceptable expiration values.
ZeroAddressNotAllowed
error ZeroAddressNotAllowed()
Reverts when the zero address is supplied where it is not permitted.
Prevents invalid account, contract, or recipient references.